2016-09-29 8 views
0

사용자가 참여하는 업데이트 된 정적 데이터 및 업데이트 된 값으로 상당히 큰 데이터베이스를 다시 시드합니다. 그러나 데이터베이스를 다시 시드하면 Has_and_belongs_to_many 테이블 (다른 모든 사용자 데이터 및 테이블은 변경되지 않음)에 대한 모든 조인 테이블이 지워집니다.데이터베이스 다시 시드시 조인 테이블 데이터 보존

리 시드 할 때 데이터가 보존 될 수있는 방법을 찾은 사람이 있습니까? 나는 레일 & PostgreSQL을에게

당신이 연결을 다시해야합니다 위에서 언급 한 바와 같이
+0

재 시드의 일부로 새 데이터를 삽입하는 경우 이러한 연관을 빌드해야합니다. 불완전, 부정확, 등등. 또한 당신은 시드가 'rake db : drop db : create db : migrate db : seed'에 대해 말하는 것을 개념적으로 의심 할 여지가 있습니다. 또는 일부 수동 DB로드? – 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 (또는 무엇이든) 파일로 내보낼 수 있습니다.