gpt4 book ai didi

ruby-on-rails - 使用事务的 rails 数据库迁移

转载 作者:行者123 更新时间:2023-12-03 16:11:08 28 4
gpt4 key购买 nike

我刚刚学习 Rails 并开始了有关数据库迁移的部分。我构建了 2 个迁移,并且都成功迁移了。向下迁移,最新的迁移,首先运行的迁移,由于我的代码中的错字而失败。我修正了错字,但此后迁移继续失败。我发现原因是向下迁移在更改中途中止,然后当我尝试再次向下迁移时失败,因为已经进行了一些更改,因此列名称不同以及其他类似问题。我最终通过摆弄 schema_migrations 表并手动将我的更改回滚到以前的版本,然后从那里向上和向下迁移来修复它。

我的问题是,有没有办法告诉 Rails 在事务模式下运行迁移,如果代码失败,不提交事务?

最佳答案

Rails 已经在事务 if your database supports it 中运行您的迁移:

On databases that support transactions with statements that change the schema, migrations are wrapped in a transaction. If the database does not support this then when a migration fails the parts of it that succeeded will not be rolled back. You will have to rollback the changes that were made by hand.



在执行架构更改时,您可以使用尊重事务的数据库。 MySQL(据我所知)没有,但 Postgres 绝对有。

关于ruby-on-rails - 使用事务的 rails 数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37820740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com