Итак, у меня есть следующая таблица переназначения - типичная таблица оценок, которая фиксирует оценки (значение) для комментариев. У меня есть вспомогательные методы для первичного ключа (pk), внешнего ключа (fk), index (index), который все в порядке.Проблема с перенаправлением Rails - внешний ключ не создается
Итак, все работает нормально, но я заметил, что ключ foregn в comment_id не создается, хотя этот оператор не сообщает об ошибке. Любая помощь будет оценена по достоинству. Благодарю.
Execute ("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
но это не создаст ограничений в базе данных, оно создаст только определения столбцов. Правильно? – kapso
Да, это не создаст никаких ограничений, оно просто добавит столбец. Но для применения ограничений к базе данных вам необходимо взаимодействовать с классом модели. – gsoni