Laravel:+100 表...是不是使用迁移?

Posted

技术标签:

【中文标题】Laravel:+100 表...是不是使用迁移?【英文标题】:Laravel: +100 Tables... Use Migrations or not?Laravel:+100 表...是否使用迁移? 【发布时间】:2016-09-10 02:39:38 【问题描述】:

我遇到了这样一种情况,即拥有数百个数据库表并将它们全部重写到 Laravel 迁移中似乎并不是……一项非常好的任务。

我知道 Laravel 迁移是一个非常酷的功能,可以跟踪一些 VCS 之间的数据库更改,例如 GIT

但是...无法在生产服务器中使用php artisan migrate 更新数据库在技术上放弃了迁移的使用,这使得它变得非常痛苦...手动逐表更改表添加列、索引或外键。

问题:Laravel 迁移有什么方法可以将更改(SQL 语句)写入文件而不是直接写入数据库?

【问题讨论】:

也许您可以在原始 SQL 中运行迁移?所以你不必将它们写成 Laravel 语法***.com/questions/28787293/… 【参考方案1】:

我多次遇到同样的问题,我做了以下解决它

首先,当您最终完成mysql数据库/结构并且即将发布应用程序时,您必须在数据库上设置“标记”,正确导出并声明其版本1的数据库。之后你就可以开始编写迁移了,你会更有信心,而且你会避免很多问题,比如我们无效的数据类型、糟糕的结构等等。

另一种方法是使用toSql 使其在文件夹下输出,比如rawSqlDatabaseMigrations时间戳等。

您也可以继续手动编写 SQL 并仅使用 DB::raw 进行迁移。

【讨论】:

以上是关于Laravel:+100 表...是不是使用迁移?的主要内容,如果未能解决你的问题,请参考以下文章

laravel 迁移在不是主要的时候使用自动增量

Laravel 5:在服务器环境而不是本地运行迁移

在 laravel 中迁移特定表

laravel5.6 使用迁移创建表

再次迁移特定表 laravel

Laravel 迁移:使用 artisan 命令删除特定表并删除迁移文件