2016-05-13 47 views
1

我碰到在具有數百個數據庫表,並將其全部改寫成Laravel遷移的情況來似乎並不...一個很不錯的工作。Laravel:+100 Tables ...是否使用遷移?

我知道Laravel遷移是一個很酷的功能頂部跟蹤數據庫的變化與一些VCS中這樣的GIT

不足沒有能夠在生產服務器php artisan migrate更新數據庫技術上走下降遷移的使用使它真正的痛苦...通過添加列,索引或外鍵的表手動更改表。

問題:有沒有什麼辦法了Laravel遷移將更改寫入(SQL語句)的文件,而不是直接做它的數據庫?

+0

也許你可以運行在原始的SQL遷移?所以你不必把它們寫入Laravel語法中http://stackoverflow.com/questions/28787293/run-this-raw-sql-in-migration –

回答

0

我來翻過了同樣的問題很多次,我做了以下解決它

首先,當你終於完成了MySQL數據庫/結構和您即將發佈,你必須設置一個應用程序「標記「在數據庫上,正確導出並聲明其數據庫版本爲1。之後,您可以開始編寫遷移,您將更加自信,並且您將避免許多問題,例如無效的數據類型,錯誤的結構和其他問題等。

另一種方式是利用toSql使其在一個文件夾下輸出可以說有rawSqlDatabaseMigrations與時間戳等。

你也可以只保留手動編寫SQL和使用遷移只DB::raw