gpt4 book ai didi

ruby-on-rails - 如何在不首先删除数据库的情况下将带有 Rails 的数据库迁移到第一个修订版?

转载 作者:太空狗 更新时间:2023-10-30 01:41:31 24 4
gpt4 key购买 nike

我为我的 Rails 安装设置了一个数据库,并设置了一些迁移。我希望能够将我的数据库重置为没有表/约束/等,但是在不知道迁移次数或第一次迁移的时间戳的情况下找不到合理的方法来执行此操作。这是我看到的选项:

  • rake 数据库:迁移:重置
  • rake db:migrate:down VERSION=20090701154839 其中 20090701154839 是与第一次迁移关联的时间戳
  • rake db:rollback STEP=15 其中有 15 次迁移

db:migrate:reset 的问题是它首先删除数据库(它会执行 db:dropdb:create、然后 db:migrate).

db:migrate:down 的问题是我不想编码开头的 VERSION。

db:rollback 的问题是我不知道它回到开始的步骤数。

我有哪些选择?

最佳答案

rake db:migrate VERSION=0

即使您使用的是较新的带时间戳的迁移文件,它也能正常工作。

更新:我刚刚在 Rails 3.2.1 上测试了它,它仍然有效。它运行 schema_migrations 已知的所有迁移的“向下”部分。我不知道它是否适用于 3.1,但下面的评论表明此功能在那段时间被破坏了。

关于ruby-on-rails - 如何在不首先删除数据库的情况下将带有 Rails 的数据库迁移到第一个修订版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196310/

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