Rails PostgreSQL迁移提供与外键相关的错误

时间:2015-08-31 01:04:23

标签: ruby-on-rails ruby postgresql foreign-keys relational-database

我的问题:今天从SQLITE3迁移到我的Rails应用程序上的POSTRESQL 9.4。我查看了StackOverflow,并按照此处的说明进行操作:http://sevenseacat.net/2015/02/24/add_foreign_key_gotchas.html

似乎无法弄清楚这一点。错误是:

StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR:  relation "birds" does not exist
: ALTER TABLE "appointments" ADD CONSTRAINT "fk_rails_5464f9f71b"
FOREIGN KEY ("bird_id")
  REFERENCES "birds" ("id")

我在约会表中也遇到了上述错误 - 几乎相同的交易。

如果我从所有表中删除外键,迁移工作完美!

这是我的鸟类迁徙:

class CreateBirds < ActiveRecord::Migration
  def change
    enable_extension "plpgsql"
    create_table :birds do |t|
      t.references :customer, index: true
      t.string :name
      t.string :breed
      t.string :color
      t.string :age
      t.string :notes
      t.timestamps null: false
    end
    add_foreign_key :birds, :customers, column: :customer_id
  end
end

和模型:

class Bird < ActiveRecord::Base
  belongs_to :customer
  has_many :appointments

  def self.search(search)
    where("name LIKE ?", "%#{search}%")
  end
end

我根据我从其他来源获得的建议调整并重新调整了这些文件,似乎无法弄清楚这一点。

0 个答案:

没有答案