如何在Laravel迁移文件中为MySQL数据库重新排列列?
到目前为止,我有以下内容:
$table->date('foo')->after('bar')->change();
但是,它似乎没有重新安排专栏。
为什么不,我该如何解决这个问题?
答案 0 :(得分:3)
无法在Laravel Schema API中看到任何可以重新排列列的内容。您最好的选择是使用原始SQL语句,如下所示。
DB::statement("ALTER TABLE table_name MODIFY COLUMN col_name col_definition AFTER another_col");
答案 1 :(得分:2)
试试这个,希望它能帮助您找到正确的解决方案:
public function up()
{
DB::statement("ALTER TABLE example MODIFY COLUMN foo DATE AFTER bar");
}
public function down()
{
DB::statement("ALTER TABLE example MODIFY COLUMN foo DATE AFTER bar");
}
答案 2 :(得分:0)
首先运行以下工匠命令
collect
其中col_name是要重新排序的列的名称,如果是表的名称,则为table_name
然后它将在迁移文件夹中的新文件上生成,然后将该文件更新为以下函数
php artisan make:migration reorganize_order_of_column_<col_name> --table=<table_name>