PG :: UndefinedTable: ERRO: a relação “…” não existe
Na migração, recebo a seguinte mensagem de erro:
PG::UndefinedTable: ERROR: relation "actioncodes" does not exist
: ALTER TABLE "organizations" ADD CONSTRAINT "fk_rails_4ecaa2493e"
FOREIGN KEY ("actioncode_id")
REFERENCES "actioncodes" ("id")
Eu tenho o seguinte arquivo de migração para organizações:
class CreateOrganizations < ActiveRecord::Migration
def change
create_table :organizations do |t|
t.string :name, null: false, limit: 40
t.references :actioncode, index: true, foreign_key: true
t.boolean :activated
t.datetime :activated_at
t.timestamps null: false
end
end
end
E para os códigos de ação, tenho o arquivo de migração:
class CreateActioncodes < ActiveRecord::Migration
def change
create_table :actioncodes do |t|
t.string :code, null: false, limit: 20
t.string :description, limit: 255
t.timestamps null: false
end
end
end
class AddIndexToActioncodesCode < ActiveRecord::Migration
def change
add_index :actioncodes, :code, unique: true
end
end
O arquivo do modelo de organização inclui:belongs_to :actioncode
.
Enquanto o arquivo de modelo dos códigos de ação inclui:has_many :organizations
.
Alguma idéia do que pode estar causando a mensagem de erro?
Se eu removerindex: true, foreign_key: true
do arquivo de migração, ele migra sem erros. E quando eu substituo essa linha pela linha incorretat.references :actioncode_id, index: true, foreign_key: true
, ele fornece o erro abaixo, onde a última linha ("ids") sugere que o Rails parece ter algum problema com o nome da tabela?
PG::UndefinedTable: ERROR: relation "actioncode_ids" does not exist
: ALTER TABLE "organizations" ADD CONSTRAINT "fk_rails_604f95d1a1"
FOREIGN KEY ("actioncode_id_id")
REFERENCES "actioncode_ids" ("id")