我有一个 MySQL 具有名为 user_level_attempt 的表的数据库。那个表有一个 枚举 键入列['进展','停止','完成'] 值。我需要编写一个迁移来向该列添加另一个值(比如“PASSED”)。添加后,它看起来像这样, ['进展','停止','完成','通过] .我怎么能在 Laravel 中做到这一点?
我尝试了以下解决方案,但它似乎不是一个好的做法/解决方案。

 /** 
         * Schema table name to migrate 
         * @var string 
         */ 
        public $set_schema_table = 'bt_user_level_attempt'; 
 
 
        /** 
         * Run the migrations. 
         * 
         * @return void 
         */ 
        public function up() 
        { 
            Schema::table($this->set_schema_table, function ($table) { 
                $table->dropColumn('status'); 
            }); 
 
            Schema::table($this->set_schema_table, function ($table) { 
                $table->enum('status', ['PROGRESS', 'STOPPED', 'COMPLETED', 'PASSED'])->default('PROGRESS')->after('effective_time_spend'); 
            }); 
        } 
 
/** 
     * Reverse the migrations. 
     * 
     * @return void 
     */ 
    public function down() 
    { 
        Schema::table($this->set_schema_table, function ($table) { 
            $table->dropColumn('status'); 
        }); 
 
        Schema::table($this->set_schema_table, function ($table) { 
            $table->enum('status', ['PROGRESS', 'STOPPED', 'COMPLETED'])->default('PROGRESS')->after('effective_time_spend'); 
        }); 
    } 

谢谢你。

请您参考如下方法:

毕竟,我想办法找到解决办法。感谢所有给我启发的小伙伴。 :)

/** 
     * Schema table name to migrate 
     * @var string 
     */ 
    public $set_schema_table = 'bt_user_level_attempt'; 
 
 
    /** 
     * Run the migrations. 
     * 
     * @return void 
     */ 
    public function up() 
    { 
        DB::statement("ALTER TABLE ".$this->set_schema_table." MODIFY COLUMN status ENUM('PROGRESS', 'STOPPED', 'COMPLETED', 'PASSED') NOT NULL DEFAULT 'PROGRESS'"); 
    } 
 
    /** 
     * Reverse the migrations. 
     * 
     * @return void 
     */ 
    public function down() 
    { 
        DB::statement("ALTER TABLE ".$this->set_schema_table." MODIFY COLUMN status ENUM('PROGRESS', 'STOPPED', 'COMPLETED') NOT NULL DEFAULT 'PROGRESS'"); 
    } 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!