想知道从以下两个选项进行迁移的正确步骤。更改迁移时,我应该只使用rails g migration add_column_to_tablename
吗?
或者我可以直接更改迁移文件而无需任何迁移命令?
想知道从以下两个选项进行迁移的正确步骤。更改迁移时,我应该只使用rails g migration add_column_to_tablename
吗?
或者我可以直接更改迁移文件而无需任何迁移命令?
以下是我认为的最佳实践:
如果您尚未执行迁移,则可以对其进行编辑然后迁移。
如果您已经迁移,但它是最近的迁移,您可以rake db:rollback STEP=1
快速回滚,更改它,然后rake db:migrate
再次。
如果迁移在您的应用程序的历史中已经足够远,最好添加一个新的迁移,这样您就可以了解您所做的事情。
如果我上次的迁移尚未部署到生产环境,那么我会直接回滚并编辑迁移文件。如果它已经部署,那么我添加一个新的迁移文件来进行更正。
基本上在开发模式下,我编辑现有文件。有些人选择总是创建一个新文件,但这会产生大量微小的迁移,以后很难筛选。对我来说这是最好的解决方案