답변:
내가 사용 rake db:reset
떨어지고 다음 데이터베이스를 다시 작성하고 seeds.rb 파일이 포함되어있다.
http://guides.rubyonrails.org/migrations.html#resetting-the-database
다음을 모두 사용하여 모든 것을 삭제하고 데이터베이스 + 시드를 다시 만들 수 있습니다.
rake db:reset
: schema.rb에서로드rake db:drop db:create db:migrate db:seed
: 마이그레이션에서로드db (rails server, sql client ..)에 연결되어 있지 않으면 db가 삭제되지 않아야합니다.
schema.rb는 다음에 의해 생성 된 데이터베이스의 현재 상태에 대한 스냅 샷입니다.
rake db:schema:dump
데이터를 다시로드하기 위해 전체 shebang을 삭제하고 다시 작성하지 않으 려면 seed.db 파일에서 MyModel.destroy_all
(또는 delete_all
)를 사용 하여 MyModel.create!(...)
명령문이 데이터를로드 하기 전에 테이블을 정리할 수 있습니다. 그런 다음 반복해서 db:seed
작업을 다시 실행할 수 있습니다 . (이것은 나머지 데이터가 아닌 데이터를로드 한 테이블에만 영향을줍니다.)
https://stackoverflow.com/a/14957893/4553442 에 "더러운 해킹 (dirty hack)"이있어 위아래로 마이그레이션하는 것과 유사한 "시드 해제"작업을 추가합니다.
rake db:reset
로컬 데이터베이스를 삭제하고에서로드 된 데이터로 새로 시작하려는 경우에 사용할 수 있습니다 db/seeds.rb
. 이것은 여전히 스키마를 파악하고 기존 모델에 필드를 추가해야 할 때 유용한 명령입니다.
reset 명령이 사용되면 다음을 수행합니다. 데이터베이스를 삭제하십시오. rake db:drop
스키마를로드하십시오. rake db:schema:load
데이터를 시드하십시오.rake db:seed
그러나 데이터베이스를 완전히 삭제하려면을 사용할 수 있습니다 rake db:drop
. 데이터베이스를 삭제하면 스키마 충돌이나 잘못된 데이터도 제거됩니다. 보유한 데이터를 유지하려면이 명령을 실행하기 전에 백업하십시오.
가장 중요한 레이크 데이터베이스 명령 에 대한 자세한 기사 입니다.