0

我在这里的情况非常糟糕,正在做一个Laravel 5项目。以前由另一个开发人员开发。该开发人员一开始使用迁移创建了几个表,migration generators并添加了一些表。columns之后,他columns立即使用一些 sql添加了 table GUI。我得到了sql dump我导入的并在我的本地机器上设置它,现在当我table使用php artisan make:migration create_myTableName_table --create="myTableName"表创建迁移时成功创建,但是,当我这样做时php artisan migrateSQLSTATE[42S01]: Base table or view already exists: 1050 Table 'someTable' already exists我检查了迁移文件夹并将其与someTable我的当前版本匹配可以看到列不同,其他表也一样。

在这种情况下处理这个问题的最佳情况应该是什么,我想跟上,Laravel migrations generator以便将来如果任何其他开发人员想要处理这个项目,他只需要运行迁移命令来迁移数据库或创建表或创建列...我应该重写所有迁移吗?请帮忙。谢谢

4

2 回答 2

1

又快又脏?

删除当前迁移文件。清除您的migrations表并导出整个数据库。将 SQL 转储放入 repo 并指示其他开发人员在运行之前将其导入php artisan migrate。导入转储并migrations截断表后,您可以创建新迁移,而不会与旧迁移发生进一步冲突。

感觉雄心勃勃?

使用迁移生成器之类的包根据您当前的数据库结构生成迁移。然后,迁移出去。

于 2016-02-08T22:18:00.767 回答
1

鉴于您的情况,我会将.sql导出放在您的存储库中,清除旧的、损坏的迁移,并创建一个最初导入数据库转储的新迁移。然后像往常一样创建迁移。

于 2016-02-08T22:24:58.303 回答