0

나는 을 배포했습니다. 내 웹 사이트에 지금 내 응용 프로그램이 있습니다. 내 Development ENV에는 cities이라는 테이블이 있으며 47K 개의 도시/레코드가 있습니다. 이 도시들을 모두 내 으로 어떻게 seed 할 수 있습니까?Ruby on Rails - 개발 데이터베이스에서 시드

나는 단지 seedcities 데이터베이스에 대해서 한 번만 생각하고 있습니다.

답변

0

https://github.com/rroblak/seed_dump과 같은 보석을 사용하여 선택한 테이블을 덤프 한 다음 프로덕션 서버에서 RAILS_ENV=production rake db:seed을 실행하여 데이터를 시드 할 수 있습니다.

rake db:seed:dump MODELS=cities APPEND=true은 데이터를 시드 파일로 덤프하기 위해 실행해야하는 명령과 같습니다.

그렇지 않은 경우 데이터베이스 테이블을 MySQL 덤프로 내보내고 프로덕션 데이터베이스로 가져올 수 있습니다.

+0

감사합니다. @ pinny87 – Rubioli

0

당신은 프로덕션 환경에서이 작업을 한 번만 수행하면되지만 다른 개발자 (또는 앞으로의 사용자)가 다시해야하므로 일반적으로 이것을 시드 파일이나 CSV .

다음은 CSV를 만든 다음 프로덕션에서 가져 오는 방법입니다.

require 'csv' 
attributes = %w{name country} 

CSV.open('cities.csv','w') do |csv| 
    csv << attributes 

    City.find_each do |city| 
     csv << attributes.map{ |attr| city.send(attr) } 
    end 
    end 
end