У меня есть проект rails с семенами, которые выполняются с помощью rake db: seed. Это, в свою очередь, загружает файлы RB в каталог db / seed, который, в свою очередь, выполняет что-то вроде этого:
Fixtures.create_fixtures("db/seeds","projects")
Есть проекты.yml в виде
project_name1:
property: value
project_name2:
property: value
В таблице проектов SQL есть существующие записи проектов. Некоторые из них в файле YML являются новыми, а другие нет. Я потратил несколько дней, работая с семенами БД, и это изменило бы некоторые идентификаторов проекта, но не другие. Но он не будет дублировать те, для которых он не изменил идентификатор, даже если все они находятся в файле YML. Таким образом, с некоторыми записями все было в порядке, другие удалили и добавили с новым идентификатором (или просто обновили идентификатор, не зная, какая).
Тогда внезапно он перестал это делать. Я удаляю и перезагружаю свою базу данных в обычном режиме (используя sql-дампы, чтобы вернуться в чистое, неизмененное состояние), но семена БД работают отлично, оставляя только одни существующие данные и только добавляя новые данные (даже если все они находятся в файле yml) не касаясь существующих идентификаторов.
Затем, внезапно, снова начал делать это снова. Я потратил две недели на поиски в Google что-нибудь о семенах, существующем заполнении данных и обновлении идентификаторов, но безуспешно.
Любая помощь, конечно, приветствуется.