Ruby on rails rails迁移文件中的输入错误
各位Ruby on rails rails迁移文件中的输入错误,ruby-on-rails,rails-migrations,Ruby On Rails,Rails Migrations,各位 我创建了一个rails迁移文件,更新模型中属性的值。我在几个生产部署上运行了此迁移,然后意识到由于输入错误,该表从未更新过。修复此问题的最佳做法是,我应该使用修复程序更新当前迁移文件并提交它,然后重新运行迁移,还是创建一个新的迁移文件并删除此迁移。如果运行了迁移并成功,然后更新当前迁移文件并尝试重新运行迁移,Rails不会更新您的架构,因为迁移版本将与当前db版本相同 如果执行rake db:migrate:status操作,您应该能够看到迁移列表以及已应用或未应用的迁移列表 基于此,如果
我创建了一个rails迁移文件,更新模型中属性的值。我在几个生产部署上运行了此迁移,然后意识到由于输入错误,该表从未更新过。修复此问题的最佳做法是,我应该使用修复程序更新当前迁移文件并提交它,然后重新运行迁移,还是创建一个新的迁移文件并删除此迁移。如果运行了迁移并成功,然后更新当前迁移文件并尝试重新运行迁移,Rails不会更新您的架构,因为迁移版本将与当前db版本相同 如果执行
rake db:migrate:status
操作,您应该能够看到迁移列表以及已应用或未应用的迁移列表
基于此,如果您的迁移显示status:down
,则表示尚未将其应用于数据库
如果它已经应用于数据库,那么您可以有许多选项
rake db:rollback
更新文件,然后重新运行迁移如果迁移从未运行过,那么您可以继续直接编辑它。我如何判断迁移是否运行过,rails是如何决定的,例如,在本例中,它确实尝试运行迁移,但没有执行任何操作,因为存在输入错误。您能提供迁移片段吗?根据输入错误的不同,它是否引发了异常,还是使用错误的名称创建了属性?如果它没有执行任何操作,您可以放心地假设它没有运行。所以只需编辑它并重新运行。