Вы также можете выполнить произвольный SQL в своих миграциях.
У нас есть несколько вспомогательных методов, которые добавляют внешние ключи в наши таблицы:
def add_foreign_key(from_table, from_column, to_table)
constraint_name = "fk_#{from_table}_#{from_column}"
execute %{alter table #{from_table}
add constraint #{constraint_name}
foreign key (#{from_column})
references #{to_table}(id)
}
end
Вы можете использовать любой SQL, поддерживаемый вашей базой данных.