我使用迁移创建了MYSQL数据库,向其中添加了一些数据,但之后我意识到需要在表中添加一个新列。
我运行了一个命令:'php迁移‘,但是由于它不能同步列,所以它返回没有什么可迁移的。
因此,我运行命令'php artisan迁移:重置‘,然后再次运行命令'php迁移’,数据库模式正确更新,但我确实丢失了所有插入的数据。
现在我只是在测试这个应用程序,但是如果我发现我应该在数据库运行时修改我的数据库,这将是非常有害的!在这种情况下我该怎么办?
我应该跳过使用迁移,直接用wamp创建Mysql数据库吗?或者使用迁移,但在不更新迁移文件的情况下直接在数据库上执行任何更新?还是有别的解决办法?
发布于 2018-04-10 08:36:12
答案
如果您已经创建了一个数据库表,并意识到需要向其中添加更多内容,那么只需运行:php artisan make:migration add_field_to_table_name --table=tableName
然后进入该文件并创建新字段。一旦完成,只需运行php artisan migrate,它将将新字段添加到所需的表中,而不会造成任何数据丢失。
Seeders
另外,我强烈建议调查一下播种机。这样,在创建项目时,始终可以刷新迁移(擦除数据库并重新迁移表),然后使用种子器重新输入数据。
发布于 2018-04-10 08:35:37
您可以创建一个迁移来更改您的表。添加新列等。
https://stackoverflow.com/questions/49748944
复制相似问题