Laravel 5. *修改列与迁移

问题描述:

我已遵循laravel迁移步骤及其良好。我的问题是关于修改列。我已经在composer中安装了doctrine \ dbal。但是当我用change方法更改列$table->string('name')->nullable()->change(),然后运行php artisan migrate。没有说什么迁移。为什么?我是否需要在迁移表类中使用像这样的use Doctine\dbal doctrin \ dbal?或者有什么更好的方式来实现在迁移中修改表列,我应该运行什么工匠?请任何帮助!Laravel 5. *修改列与迁移

+0

您是否制作了新的迁移更改的字段?如果不是,那么您必须创建一个新的迁移,因为您已更改的迁移已被注册为已完成,因此不会再次运行。 –

+0

那么意思是,即使我改变了什么,旧的迁移也没有效果? – icefrog

+0

不,旧迁移已经运行,所以不会再运行。您需要创建一个新的迁移文件来更改现有的表,或者,您可以使用命令“php artisan migrate:refresh”重新运行所有迁移。 –

租赁迁移只会运行一次,意味着一旦运行,一旦php artisan migrate运行后,它将不会再次运行。通过查看数据库中的迁移表,您可以看到应用程序中运行的所有迁移。

如果您编辑迁移文件并需要重新运行所有迁移,则可以使用以下命令php artisan migrate:refresh。这将回滚所有迁移并重新运行它们,并且还会在迁移表上增加批处理编号。

如果您需要编辑其中一个表格,但不需要重新运行所有迁移,则应该创建新的迁移并编辑该特定迁移中存在问题的表格。一旦migrate命令再次运行,只有您的新迁移将被执行。

您可以在下面的链接,所有这些信息https://laravel.com/docs/5.4/migrations