2016-09-29 80 views
0

我正在重新生成一個相當大的數據庫,其中包含更新後的靜態數據和用戶參與的更新值。但是,我注意到重新播種數據庫將清除Has_and_belongs_to_many表(所有其他用戶數據和表保持不變)的所有連接表。重新編輯數據庫時保留連接表數據

有沒有人解決了這個問題,在重新播種時數據會被保留下來?

我使用Rails & PostgreSQL的

+0

如果您要插入新數據作爲重新播種的一部分,您還必須構建這些關聯。在播種之前留下的任何關聯在概念上都是可疑的:不完整,不正確等。另外,當你說種子是你談論'rake db:drop db:create db:migrate db:seed'?或一些手動數據庫負載? – jaydel

+0

@jaydel我其實不會丟掉表格。我只是用'rake db:seed'來寫數據。我的每個表的種子文件如下所示:EG:\t'Industry.destroy_all','ActiveRecord :: Base.connection.execute(「TRUNCATE TABLE industries RESTART IDENTITY」)'。 'Industry.create(名稱:'會計')'等 – Stephen

回答

1

正如上面提到的,你將需要重新創建關聯。你可以在你的種子文件中相當直接地做到這一點。

您也可以查看seed dump寶石。這將允許您快照您的HABTM關係,然後將它們導出到您的db/seeds.rb(或其他)文件中。