Laravel Migration在数据进入表后添加字段?

Far*_*her 5 php mysql migration laravel

我有一个名为的迁移CreateItemsTable; 我跑了,我在那个表中有项目,现在我需要在表中添加一个新字段.我不能只在迁移文件中添加一个字段,migrate:refresh因为我需要其中的数据.

我是否应该为添加字段进行另一次迁移?当我在开发中测试时,这似乎很乱,我可能会更改字段.我不确定迁移是否比PhpMyAdmin更干净......或者我可能不理解它们?

Jas*_*wis 8

是的,每次您需要以某种方式更改表时,都要为其创建新的迁移.这就是迁移的重点.当您在协作环境中进行开发并从远程存储库中删除某些更改时,您应该执行的任务之一(如果使用数据库)运行其他开发人员可能已创建的任何迁移.这可以使您的数据库保持同步.

当然你可能会偶尔放下并添加列,但这没什么大不了的.

当您第一次创建表时,您可能正在使用Schema::create().应使用该表的所有后续迁移Scheme::table().它接受相同的参数,除了它不首先尝试创建表.

  • 究竟.迁移脚本知道迁移是新的,因此它不会重新执行已应用于数据库的迁移. (3认同)