Laravel 5:是否需要在更改任何列结构时每次都创建新的迁移?

时间:2018-03-06 13:39:23

标签: laravel

我在laravel文档中看到,每当我在现有表中追加新列时,我需要创建 php artisan make:migration append_tablename

这个级别很好。但下次我需要更新同一个表的任何列结构,然后我需要创建新的迁移,或者我可以在第二个迁移文件中添加下面的代码,我已经用它来追加新列?

$table->string('name', 50)->change();

任何想法请分享。

2 个答案:

答案 0 :(得分:1)

迁移只运行一次,因此调整已经运行的迁移对您没有任何帮助。在开发过程中,您可以继续调整一个并运行php artisan migrate:rollback以撤消它并重复运行直到您做对了,但是一旦您a)推向生产或b)将其推送到其他开发人员可以运行它的地方不应该再接触迁移了。

答案 1 :(得分:0)

每次迁移都应该是独立的。

除非你明确地重构它以使其更紧凑(如果你知道你想在生产中部署一个更干净的版本并且它不会与其他开发人员工作混乱)。在这种情况下,您应该将其添加到初始表创建中。

这是您的数据库历史记录和版本控制。这允许您回滚到以前的任何状态。