2017-03-03 70 views
1

如何在Laravel遷移文件中爲MySQL數據庫重新排列列?重新排列Laravel遷移文件中的列

到目前爲止,我有以下幾點:

$table->date('foo')->after('bar')->change(); 

然而,它似乎並沒有重新安排列。

爲什麼不能,我該如何解決這個問題?

+0

btw:你需要重新排列列順序?它在技術上沒有區別 –

+0

如果你考慮使用'DB :: raw'你可以做類似'DB :: raw('ALTER TABLE tablename CHANGE COLUMN foo foo date AFTER bar''')' – KuKeC

+0

@MarcinOrlowski對我來說主要問題只是組織。例如,當我瀏覽PHPMyAdmin中的數據庫時,我想看到這個特定的列在他們相關的另一個旁邊。否則可能會有很多水平滾動。 –

回答

2

無法看到Laravel架構API任何將讓你重新排列列。你最好的選擇是使用下面的原始SQL語句。

DB::statement("ALTER TABLE table_name MODIFY COLUMN col_name col_definition AFTER another_col"); 
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"); 
}