ruby-on-rails - Rails 5 - PostgreSQL 删除列和索引已被破坏的迁移

标签 ruby-on-rails ruby postgresql ruby-on-rails-4 rubygems

我已经销毁了脚手架“Location”及其表,但我忘记在销毁“Location”表之前回滚/删除迁移的列“slug 及其索引”。如何删除 slug 和 index.js 的迁移?

迁移的 slug 列

class AddSlugToLocations < ActiveRecord::Migration[5.1]
  def change
    add_column :locations, :slug, :string
    add_index :locations, :slug
  end
end

非常感谢您的帮助,由于这个问题,heroku 将无法部署

我已经尝试过 ActiveRecord::SchemaMigration.where(version=20180412191332).delete_all 但没有成功

还尝试了 rake db:migrate:down VERSION=20180412191332 但给出错误:在提供的选项的位置上找不到索引。

最佳答案

您从应用程序的数据库中手动删除了一个表。现在运行迁移会引发错误,因为其中一个迁移正在尝试更改不再存在的表。

只需从您的代码库中删除失败的迁移并重新部署您的应用程序。

根据您的问题,我假设编号为 20180412191332 的迁移导致了问题。在 db/migrate/20180412191332_...rb 中找到该迁移文件,将其删除并重新部署到 Heroku。

关于ruby-on-rails - Rails 5 - PostgreSQL 删除列和索引已被破坏的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49813675/

相关文章:

postgres中的SQL将重复事件的日期时间转换为 future 的日期时间

java - 表存在时出现SQLException

ruby-on-rails - Rails 应用的性能分解

ruby-on-rails - Rails + 设计 : Undefined Local Variable in UserRegistration#Edit

android - 使用 cheezy/ADB 的独立 ruby​​ 脚本

Ruby - 一大组句子中出现频率最高的单词或短语

ruby-on-rails - ruby rails : Get nested modules?

sql - Postgres Rails 选择不同的顺序

ruby-on-rails - Rails 验证错误消息未显示并给出未定义的方法错误

html - 将样式表传递给 heroku