Laravel 迁移 - 永远保留它们?啥是最佳实践?

Posted

技术标签:

【中文标题】Laravel 迁移 - 永远保留它们?啥是最佳实践?【英文标题】:Laravel Migrations - keep them forever? What is best practice?Laravel 迁移 - 永远保留它们?什么是最佳实践? 【发布时间】:2015-04-25 03:05:58 【问题描述】:

我已经与 Laravel 合作了大约几个月 - 喜欢它。对建议用于管理数据库更改的工作流有疑问。

我有一个 test 数据库,用于开发我的应用程序,当我相当高兴时,我通过复制 phpMyAdmin 中的结构创建了一个 production 数据库。我在 phpMyAdmin 上构建了初始数据库,因为我不熟悉 Laravel 迁移。

现在我可以更好地了解 Laravel Migrations 的强大功能,并希望使用它们来更新 test 数据库并将这些更改转移到 production。

我的行动方案是什么?我可以删除 app/database/migrations 目录中的所有内容并从头开始吗?在我的 testproduction 环境中调用 php artisan migrate 是否会出现问题?

提前感谢您的回复!

【问题讨论】:

【参考方案1】:

简短的回答:没有问题。如果您只是在 up() 和 down() 方法中添加/更改/删除表/列。

更长的答案:仍然没有问题。只要您不删除不是在 up() 方法中创建的表。

但是,假设您要与另一位开发人员合作,该开发人员也想在本地数据库上进行开发。但是您没有针对它的迁移 - 因此新开发人员需要从测试数据库运行初始结构,然后应用新迁移。

在这种情况下,我将从 1 个大型迁移开始,您在其中创建所有初始表,并在 down() 中删除这些表,因此新开发人员可以运行迁移并开始编码。

编辑:在迁移初始结构之后,只需在开发时添加新结构;)

【讨论】:

以上是关于Laravel 迁移 - 永远保留它们?啥是最佳实践?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 每次迁移多个表

压缩迁移 django 的最佳方法

Laravel 分组路由啥是最好的前缀或中间件

如何从 Laravel 项目中删除所有迁移但保留表和字段

在 Laravel 迁移中更改列类型的最佳方法是啥?

高斯分布的特征是啥?啥事极限误差?误差值通常取多少位?啥是真值的最佳值?