ruby-on-rails - 如何回滚到开始以及重新创建/重建新的迁移

标签 ruby-on-rails migration

这是我的第一个真正的Ruby on Rails项目。我已经吸取了教训-我没有使用迁移进行所有更改,所以事情有些困惑。

从新迁移文件重新开始并重建架构等的最佳方法是什么?我的项目太过复杂,无法重建整个项目,但是距离我担心失去到目前为止的迁移尚不够。我也不介意丢失数据库中的数据。我试图回滚到开始,但是其中一些失败了。

我知道这是一个糟糕的状态,但是可以吸取教训。

编辑:
我只是删除了所有迁移文件,并使用db:schema:dump重建了架构文件。
我认为这使我处于一个干净的状态与我现有的数据库,只是失去了迁移。

最佳答案

您的schema.rb文件应包含数据库中的实际架构。您可以将其用作创建迁移的起点。您可以使用:force => true参数为每个表创建一个新迁移,以覆盖旧表。之后,您可以删除旧的迁移(您可能还需要从schema_migrations表中删除其条目)。

另一个选择是仅更新旧的迁移以匹配您的当前架构。

关于ruby-on-rails - 如何回滚到开始以及重新创建/重建新的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238213/

相关文章:

ruby-on-rails - Rails 多态关联和路由

ruby-on-rails - 如何测试在不同实例上使用不同参数接收相同方法

mysql - SQL Server : date incompatible with int when migrating from mysql. 如何解决?

ios - iOS 13 Core Data 持久化存储迁移过程中出现错误

ruby - 如何从 Sequel 迁移生成 SQL 语句

migration - 我可以将 bzr 中央存储库主干迁移到新位置吗?

ruby-on-rails - 从 Ruby on Rails 应用程序中的串口读取挂起

ruby-on-rails - rails 4 中的相互关系

ruby-on-rails - Rails 应用程序崩溃时重定向到 404

php - 如果使用PHP在Codeigniter中为网站创建数据库表而无需迁移,这是不是好技术?