gpt4 book ai didi

ruby-on-rails - 删除当前迁移文件后如何修复数据库?

转载 作者:行者123 更新时间:2023-11-29 13:57:22 25 4
gpt4 key购买 nike

我的问题是,我在某个时候进行了一些 spiking,并且我使用在 spike 分支中创建的迁移来迁移我的数据库。然后我切换回我的主分支(我从未提交过迁移)。现在迁移永久在我的数据库中,这使得迁移我的数据库变得不可能。

当我运行时


ActiveRecord::Migrator.get_all_versions

在控制台中我删除的迁移文件时间戳在这个数组中。我想从迁移器中删除这个版本。我也不能删除数据库。

最佳答案

如果数据库可以被吹走,那么最快的方法是删除数据库,重新创建它,然后重新应用迁移,步骤如下:

 rake db:drop
rake db:create db:migrate

如果数据库中有有用的信息并且不能被吹走,那就很棘手了。唯一可能的选择是转到数据库级别,并撤消迁移所做的更改。

找出在迁移中添加/删除了哪些表/列,然后运行 ​​sql 脚本来撤消这些更改。

此外,从 schema_migrations 表中删除与此迁移对应的特定行,使用以下查询:

delete from schema_migrations where version = '201503......'

关于ruby-on-rails - 删除当前迁移文件后如何修复数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082039/

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