Нестандартные первичные ключи в тестовых базах данных Rails - PullRequest
1 голос
/ 16 декабря 2010

В одной из моих моделей я использую нестандартный первичный файл, который обрабатывается в файле миграции следующим образом:

create_table item_similarities, :id => false do |t|

и

execute "ALTER TABLE item_similarities ADD constraint pk_item_similarities " +
        "PRIMARY KEY (item_id_1, item_id_2)"

Теперь при запуске rake test схема копируется в тестовую базу данных, но без установки первичного ключа (item_id_1, item_id_2) в тестовой базе данных.

Может ли кто-нибудь помочь, как это может быть достигнуто?

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Rails не имеет большой поддержки для составных первичных ключей.

Попробуйте вывести структуру sql вашей базы данных следующим образом:

rake db:structure:dump

Он должен создать файл вроде db / development_structure.sql

Затем сделайте это, чтобы загрузить этот файл в вашу тестовую базу данных:

rake db:test:clone_structure
0 голосов
/ 16 декабря 2010

Rails сбрасывает информацию о своей схеме в db / schema.rb.Проверьте этот файл, но ваш собственный SQL, вероятно, не будет там.Вы можете установить его для дампа sql, но я не знаю, будет ли включен ваш собственный SQL:

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