Проблема миграции Rails - внешний ключ не создается - PullRequest
1 голос
/ 21 июля 2010

Таким образом, у меня есть следующая миграция - типичная таблица оценок, которая фиксирует оценки (значения) для комментариев. У меня есть несколько вспомогательных методов для первичного ключа (pk), внешнего ключа (fk), индекса (индекса), и все в порядке.

Так что все работает нормально, но я замечаю, что ключ foregn для comment_id не создается, даже если этот оператор не сообщает об ошибке. Любая помощь будет оценена. Спасибо.

выполнить ("ALTER TABLE рейтинги ДОБАВИТЬ CONSTRAINT fk_ratings_comment_id КЛЮЧЕВОЙ КЛЮЧ (comment_id) ответы (id) НА УДАЛЕННОМ КАСКАДЕ ")

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 Ответ

1 голос
/ 22 июля 2010

Пожалуйста, попробуйте это вместо использования "t.integer: comment_id,: null => false"

t.references: имя_таблицы,: опции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...