1
如何在Laravel迁移文件中为MySQL数据库重新排列列?重新排列Laravel迁移文件中的列
到目前为止,我有以下几点:
$table->date('foo')->after('bar')->change();
然而,它似乎并没有重新安排列。
为什么不能,我该如何解决这个问题?
如何在Laravel迁移文件中为MySQL数据库重新排列列?重新排列Laravel迁移文件中的列
到目前为止,我有以下几点:
$table->date('foo')->after('bar')->change();
然而,它似乎并没有重新安排列。
为什么不能,我该如何解决这个问题?
无法看到Laravel架构API任何将让你重新排列列。你最好的选择是使用下面的原始SQL语句。
DB::statement("ALTER TABLE table_name MODIFY COLUMN col_name col_definition AFTER another_col");
试试这个,希望它能帮助您找到正确的解决方案:
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");
}
btw:你需要重新排列列顺序?它在技术上没有区别 –
如果你考虑使用'DB :: raw'你可以做类似'DB :: raw('ALTER TABLE tablename CHANGE COLUMN foo foo date AFTER bar''')' – KuKeC
@MarcinOrlowski对我来说主要问题只是组织。例如,当我浏览PHPMyAdmin中的数据库时,我想看到这个特定的列在他们相关的另一个旁边。否则可能会有很多水平滚动。 –