[RUBY-ON-RAILS] 제거 또는 레일 데이터베이스에 루비를 다시
RUBY-ON-RAILS제거 또는 레일 데이터베이스에 루비를 다시
나는 데이터의 전체 레일 데이터베이스에 dev에 루비가 있습니다. 나는 모든을 삭제하고 데이터베이스를 다시하고 싶다. 내가 좋아하는 뭔가를 사용하여 생각 해요 :
rake db:recreate
이게 가능해?
해결법
-
==============================
1.나는이 두 가지 방법을 알고 :
나는이 두 가지 방법을 알고 :
이 데이터베이스를 재설정하고 모두와 함께 현재 스키마를 다시로드합니다 :
rake db:reset db:migrate
이것은 당신의 DB를 파괴하고 다음을 만든 다음 현재 스키마를 마이그레이션합니다 :
rake db:drop db:create db:migrate
모든 데이터는 두 시나리오에서 손실됩니다.
-
==============================
2.레일 4 일, 필요한 모든입니다
레일 4 일, 필요한 모든입니다
$ rake db:schema:load
그게 당신의 DB에 전체 내용을 삭제 한 모든 마이그레이션 하나를 적용하지 않고, 당신의 schema.rb 파일에서 스키마를 다시 것입니다.
-
==============================
3.나는 터미널에서 다음 한 라이너를 사용합니다.
나는 터미널에서 다음 한 라이너를 사용합니다.
$ rake db:drop && rake db:create && rake db:migrate && rake db:schema:dump && rake db:test:prepare
나는 쉘 별칭으로이 문제를 놓고 다시 이주로 이름을
지금까지, 당신은 쉽게 "체인"작업을 레일 수 있습니다 :
$ rake db:drop db:create db:migrate db:schema:dump db:test:prepare # db:test:prepare no longer available since Rails 4.1.0.rc1+
-
==============================
4.업데이트 :에 레일 (5),이 명령은이 명령을 통해 액세스 할 수 있습니다 :
업데이트 :에 레일 (5),이 명령은이 명령을 통해 액세스 할 수 있습니다 :
퍼지 DB : DB 레일 마이그레이션 RAILS_ENV = 테스트 : DB를 만들
4.2 릴리스 레일 최신의로서 당신은 지금 실행할 수 있습니다 :
rake db:purge
출처 : 커밋
# desc "Empty the database from DATABASE_URL or config/database.yml for the current RAILS_ENV (use db:drop:all to drop all databases in the config). Without RAILS_ENV it defaults to purging the development and test databases." task :purge => [:load_config] do ActiveRecord::Tasks::DatabaseTasks.purge_current end
위에서 언급 한 것처럼이 함께 사용할 수 있습니다 :
rake db:purge db:create db:migrate RAILS_ENV=test
-
==============================
5.당신이 원하는하는지에 따라 사용할 수 있습니다 ...
당신이 원하는하는지에 따라 사용할 수 있습니다 ...
DB를 긁어 : 생성
... 설정 / database.yml을에서 처음부터 데이터베이스를 구축하거나하는 ...
DB를 긁어 : 스키마 : 부하
... 당신의 schema.rb 파일에서 처음부터 데이터베이스를 구축합니다.
-
==============================
6.그냥 단계의 순서를 발행 : 데이터베이스를 삭제 한 다음, 다시 마이그레이션 데이터를 생성 - 다시, 당신은 씨앗이있는 경우, 데이터베이스를 뿌리 :
그냥 단계의 순서를 발행 : 데이터베이스를 삭제 한 다음, 다시 마이그레이션 데이터를 생성 - 다시, 당신은 씨앗이있는 경우, 데이터베이스를 뿌리 :
rake db:drop db:create db:migrate db:seed
레이크의 기본 환경이 개발이기 때문에, 경우에 다음과 같이 테스트 환경에 대한 DB를 다시 작성해야합니다, 사양 테스트에서 예외를 참조하는 경우 :
RAILS_ENV=test rake db:drop db:create db:migrate
종자 작업 동작 전달 될 필요가 없습니다 : 데시벨이 때문에 대부분의 경우 테스트 데이터베이스는 테스트 과정에서 뿌린되고있다. 그렇지 않으면, 당신은 데이터베이스를 준비하여야한다 :
rake db:test:prepare
또는
RAILS_ENV=test rake db:seed
또한, 당신이 Rakefile 다음 코드에 추가 할 수있는 재 작성 작업을 사용합니다 :
namespace :db do task :recreate => [ :drop, :create, :migrate ] do if ENV[ 'RAILS_ENV' ] !~ /test|cucumber/ Rake::Task[ 'db:seed' ].invoke end end end
그런 다음 문제 :
rake db:recreate
-
==============================
7.명령 줄에서 다음을 실행합니다
명령 줄에서 다음을 실행합니다
rake db:migrate:reset
-
==============================
8.같은 사용
같은 사용
rake db:drop db:create db:migrate db:seed
한 줄의 모든. 이 환경이 다시 다시 다시로드되지 않기 때문에 빠릅니다.
DB : 드롭 - 데이터베이스를 삭제합니다.
DB : 생성 - 데이터베이스를 생성합니다 (호스트 / DB / 암호 설정 / database.yml을에서 이동합니다)
DB : 마이그레이션은 - 기존 디렉토리에서 마이그레이션 (dB / 이동 / .rb) *를 실행합니다.
DB : 씨앗 - 디렉토리에서 가능한 종자 데이터를 실행합니다 (dB / 이동 / seed.rb) ..
나는 보통 선호한다 :
rake db:reset
한 번에 모든 작업을 수행합니다.
건배!
-
==============================
9.수동으로 수행 할 수 있습니다
수동으로 수행 할 수 있습니다
rake db:drop rake db:create rake db:migrate
아니면 그냥 레이크 dB : 위의 단계를 실행되지만 또한 dB / seeds.rb 파일을 실행합니다 리셋.
추가 된 뉘앙스는 레이크 dB이다 : 당신의 schema.rb 파일에서 직접 다시로드 다시 모든 마이그레이션 파일을 실행에 반대.
당신의 데이터는 모든 경우에 날아됩니다.
-
==============================
10.이 다음 명령 줄을 사용할 수 있습니다 :
이 다음 명령 줄을 사용할 수 있습니다 :
rake db:drop db:create db:migrate db:seed db:test:clone
-
==============================
11.특정 데이터베이스를 제거하려면, 레일 콘솔에서이 작업을 수행 할 수 있습니다 :
특정 데이터베이스를 제거하려면, 레일 콘솔에서이 작업을 수행 할 수 있습니다 :
$rails console Loading development environment 1.9.3 > ActiveRecord::Migration.drop_table(:<table_name>) 1.9.3 > exit
그리고 다시 DB 마이그레이션
$bundle exec rake db:migrate
-
==============================
12.4.2 레일에서 모든 데이터를 제거하지만, 데이터베이스를 보존
4.2 레일에서 모든 데이터를 제거하지만, 데이터베이스를 보존
$ bin/rake db:purge && bin/rake db:schema:load
https://github.com/rails/rails/blob/4-2-stable/activerecord/CHANGELOG.md
-
==============================
13.당신이 사용할 수있는 DB : 리셋 - 실행 DB에 대한 : 드롭 및 DB : 설치 또는 DB : 마이그레이션 : 리셋 - dB 실행 : 드롭, DB : 생성 및 DB를 : 마이그레이션 할 수 있습니다.
당신이 사용할 수있는 DB : 리셋 - 실행 DB에 대한 : 드롭 및 DB : 설치 또는 DB : 마이그레이션 : 리셋 - dB 실행 : 드롭, DB : 생성 및 DB를 : 마이그레이션 할 수 있습니다.
당신에 의존하는 존재의 schema.rb를 사용하려면
-
==============================
14.대신 마이그레이션을 다시로드의 schema.rb에서로드 때문에 레일 가이드에 따르면,이 라이너는 하나 하나의 파일을 사용해야합니다 :
대신 마이그레이션을 다시로드의 schema.rb에서로드 때문에 레일 가이드에 따르면,이 라이너는 하나 하나의 파일을 사용해야합니다 :
rake db:reset
-
==============================
15.개발에, 당신은 항상 데이터베이스를 다시 할 것이기 때문에, 당신이 당신의 lib에 갈퀴 작업을 정의 할 수 있습니다 / 작업처럼 폴더.
개발에, 당신은 항상 데이터베이스를 다시 할 것이기 때문에, 당신이 당신의 lib에 갈퀴 작업을 정의 할 수 있습니다 / 작업처럼 폴더.
namespace :db do task :all => [:environment, :drop, :create, :migrate] do end end
단자에 당신이 실행됩니다
rake db:all
그것은 당신의 데이터베이스를 다시 작성합니다
-
==============================
16.나는이 명령을 실행하는 가장 좋은 방법을 생각한다 :
나는이 명령을 실행하는 가장 좋은 방법을 생각한다 :
**rake db:reset** it does db:drop, db:setup rake db:setup does db:create, db:schema:load, db:seed
-
==============================
17.간단히 실행할 수 있습니다
간단히 실행할 수 있습니다
DB를 긁어 : 설치를
그것은 데이터베이스를 삭제하면 일부 데이터와 시드 파일을 만든 경우 씨앗에서 새 데이터베이스 및 채우기 DB를 생성합니다.
-
==============================
18.3 개 옵션 같은 결과 :
3 개 옵션 같은 결과 :
1. 모든 단계 :
$ rake db:drop # deletes the database for the current env $ rake db:create # creates the database for the current env $ rake db:schema:load # loads the schema already generated from schema.rb / erases data $ rake db:seed # seed with initial data
리셋합니다 :
$ rake db:reset # drop / schema:load / seed
3. 마이그레이션 : 리셋 :
$ rake db:migrate:reset # drop / create / migrate $ rake db:seed
노트:
-
==============================
19.오늘은 내 레일 스키마에 꽤 많은 변화를했습니다. 내가 계층 구조에 추가로 두 모델과 몇몇 다른 사람이 삭제 될 필요가 깨달았다. 모델과 컨트롤러에 필요한 많은 작은 변화가 있었다.
오늘은 내 레일 스키마에 꽤 많은 변화를했습니다. 내가 계층 구조에 추가로 두 모델과 몇몇 다른 사람이 삭제 될 필요가 깨달았다. 모델과 컨트롤러에 필요한 많은 작은 변화가 있었다.
내가 사용하는 두 개의 새로운 모델을 추가하고이를 생성 :
rake db:migrate
그럼 난 schema.rb 파일을 편집. 나는 수동으로 필요에 따라 외부 키 필드를 변경, 더 이상 필요하지 않은 기존 모델을 제거하고 바로 나에게 그것을 명확하게 그것을 조금 순서가. 나는 모든 마이그레이션을 삭제 한 다음를 통해 빌드를 다시 실행 :
rake db:reset
그것은 완벽했다. 모든 데이터는 물론, 다시로드해야합니다. 삭제 및 최고 수위 표시를 재설정했던 마이그레이션을 실현 난간 :
-- assume_migrated_upto_version(20121026094813, ["/Users/sean/rails/f4/db/migrate"])
from https://stackoverflow.com/questions/4116067/purge-or-recreate-a-ruby-on-rails-database by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일의 캐릭터와 텍스트 사이의 차이점? (0) | 2020.02.15 |
---|---|
[RUBY-ON-RAILS] 레일 열 유형에 대한이 문서인가? (0) | 2020.02.15 |
[RUBY-ON-RAILS] 브래킷은 무엇인가 [5.1] 액티브 마이그레이션 후 그것이 어떻게 작동합니까? [복제] (0) | 2020.02.14 |
[RUBY-ON-RAILS] 람다 조건 3 has_one / has_many 레일 (0) | 2020.02.14 |
[RUBY-ON-RAILS] 활성 레코드와 여러 테이블에 참여 (0) | 2020.02.14 |