所以我有以下迁移 - 典型的评级表,它捕获评论的评级(值)。我有一些帮助方法,主键(pk),外键(fk),索引(索引)都很好。
所以一切运行正常,但我注意到,即使此语句没有报告错误,也不会创建comment_id上的foregn键。任何帮助,将不胜感激。感谢。
执行(“ALTER TABLE评级ADD CONSTRAINT fk_ratings_comment_id FOREIGN KEY(comment_id)参考文献 答案(id)ON DELETE CASCADE“)
class CreateRatings < ActiveRecord::Migration
extend MigrationHelpers
def self.up
create_table :ratings, :id => false do |t|
t.integer :comment_id, :null => false
t.integer :user_id, :null => false
t.integer :value, :null => false, :limit => 1
t.timestamps
end
pk :ratings, %w{ comment_id user_id }
fk :ratings, :comment_id, :comments, true
fk :ratings, :user_id, :users
index :ratings, %w{ comment_id value }
end
答案 0 :(得分:1)
请尝试此操作而不是使用“t.integer:comment_id,:null =&gt; false”
t.references:table_name,:options