Gre*_*rot 1 postgresql activerecord ruby-on-rails
我有一个错误,没有解释.
我的错误:
G::UndefinedColumn: ERROR: column "conjoncture_index_id" referenced in foreign key constraint does not exist
: ALTER TABLE "reports" ADD CONSTRAINT "fk_rails_c25ad9a112"
FOREIGN KEY ("conjoncture_index_id")
REFERENCES "conjoncture_indices" ("id")
Run Code Online (Sandbox Code Playgroud)
我的迁移:
class AddColumnToReports < ActiveRecord::Migration
def change
add_reference :reports, :conjoncture_indice, index: true
add_foreign_key :reports, :conjoncture_indices
end
end
Run Code Online (Sandbox Code Playgroud)
我的创建表迁移:
class CreateConjonctureIndices < ActiveRecord::Migration
def change
create_table :conjoncture_indices do |t|
t.date :date
t.float :value
t.timestamps null: false
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的模特:
class ConjonctureIndice < ActiveRecord::Base
has_many :reports
by_star_field :date
end
Run Code Online (Sandbox Code Playgroud)
我的ConjonctureIndice shema.rb部分:
create_table "conjoncture_indices", force: :cascade do |t|
t.date "date"
t.float "value"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Run Code Online (Sandbox Code Playgroud)
我在我的项目中寻找"conjoncture_index",但没有...我认为该项目的旧版本使用"conjoncture_index"而不是"conjoncture_indice",但所有出现都被删除.
在rails中,迁移名称是复数,而模型名称是单数.所以模型名称应该是Index,但它不能是一个保留关键字,其复数转换为ConjunctureIndices.
注意 - 如果您仍然有疑问,那么您可以删除并重新创建数据库,但我怀疑命名约定在您的情况下是一个问题.
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |