Rails迁移问题 - 未创建外键

时间:2010-07-21 19:49:54

标签: mysql ruby-on-rails database migration

所以我有以下迁移 - 典型的评级表,它捕获评论的评级(值)。我有一些帮助方法,主键(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

1 个答案:

答案 0 :(得分:1)

请尝试此操作而不是使用“t.integer:comment_id,:null =&gt; false”

t.references:table_name,:options