Rails의 모든 데이터베이스 작업
4425 단어 rails
db:migrate
데이터베이스에 적용될 것이다.그리고 마지막 이전을 복구하기 위해 오류를 범했습니다. db:rollback
한동안 프로그래밍을 한 후에 우연히 발견했습니다. db:reset
데이터베이스를 삭제하고 다시 만들고 이 새 데이터베이스에서 모든 이전을 실행해야 합니다.마지막으로, 지난번에 리셋한 후에 모든 샘플 데이터를 잃어버렸다는 것을 깨닫고 db:seed
샘플 데이터를 데이터베이스에 삽입할 수 있기 때문에, rails 응용 프로그램은 보기에 매우 리얼하고, 빈번한 실행 db:reset
을 통해 원상태로 복구할 수 있습니다.지금은 직무에 적합한 Rails 프로그래머가 되어 이 네 가지 임무를 완수하기 쉽다.그러나 만약에 Rails를 파악하고 (이것은 제가 새로운 Rails 개발자로서의 목표 중 하나입니다) 그 마력을 충분히 활용하여 당신의 생활을 가볍게 하려면 Rails가 데이터베이스와 이전을 관리하기 위해 제공하는 나머지 데이터베이스 작업에 대해 알아야 합니다.
모든 데이터베이스 작업 찾기
Rails 애플리케이션 디렉토리에서 다음 명령을 실행하면 Rails에서 제공하는 모든 데이터베이스 작업을 찾을 수 있습니다.
➜ blog (main) ✗ bin/rails help | grep db:
db:create
db:drop
db:environment:set
db:fixtures:load
db:migrate
db:migrate:down
db:migrate:redo
db:migrate:status
db:migrate:up
db:prepare
db:reset
db:rollback
db:schema:cache:clear
db:schema:cache:dump
db:schema:dump
db:schema:load
db:seed
db:seed:replant
db:setup
db:structure:dump
db:structure:load
db:system:change
db:version
또한 Rails 저장소의 database_tasks.rb 파일과 databases.rake
디렉토리의 ActiveRecord/Railties
파일에서 이 작업의 소스 코드를 찾을 수 있습니다.ActiveRecord::Tasks::DatabaseTasks
실용 프로그램 클래스는 데이터베이스와 이동을 관리하는 데 사용되는 흔한 작업 배후의 논리를 봉인했다.다음은 모든 데이터베이스 작업의 간략한 요약이다.
db:create: 데이터베이스가 존재하지 않는 한 데이터베이스를 만듭니다.
db:drop: 데이터베이스를 삭제합니다.
db:environment:set: 내부 테이블에 현재 환경을 설정하여 구조에서 환경 데이터를 찾을 수 없을 때 발생하는
EnvironmentMismatchError
또는 NoEnvironmentInSchemaError
를 복구합니다.db:fixtures:load:fixtures를 불러옵니다. 테스트하고자 하는 샘플 데이터입니다.그것들은
test/fixtures/
디렉토리의 YAML 파일에 저장됩니다.db:migrate: 현재 환경에서 실행되지 않은 모든 이전을 실행합니다.
db:migrate:down: 실행
up
방법으로 지난번에 이전한 down
방법으로 실행된 변환을 복원합니다.db:migrate:redo: 데이터베이스를 한 번 스크롤하고 다시 이동합니다.
db:migrate:status: 이전 상태를 표시합니다.
db:migrate:up: 지정한 이전 실행
up
방법입니다.db:prepare: 데이터베이스가 존재하지 않으면 실행
setup
합니다.그렇지 않으면 마이그레이션이 실행됩니다.db:reset: 현재 환경에 대한 이전을 사용하여 데이터베이스를 리셋합니다.그것은 운행
db:drop
,db:create
,db:migrate
임무를 통해 이 점을 실현한다.db:rollback: 모드를 이전 버전으로 되돌려서 방금 실행한 이전을 취소합니다.이전
n
마이그레이션을 취소하려면 STEP=n
를 이 작업으로 전달합니다.db:schema:cache:clear:db/schema 캐시를 제거합니다.
db:schema:cache:dump
작업에서 생성된yml 파일입니다.db:schema:cache:dump:db/schema 캐시를 만듭니다.yml 파일.
db:schema:dump:
db/schema.rb
에 따라 데이터베이스 모드 파일db/structure.sql
을 만들거나config.active_record.schema_format
.db:schema:load:
db/schema.rb
에 따라 데이터베이스 모드 파일db/structure.sql
또는 config.active_record.schema_format
을 데이터베이스에 불러옵니다.db:seed:
db/seeds.rb
파일에서 피드 데이터를 불러옵니다.db:seed:replant: 현재 환경의 모든 데이터베이스 테이블을 차단하고 피드를 불러옵니다
db:setup: 모든 데이터베이스
db:create
를 만들고 모든 모드db:schema:load
를 불러오며 피드 데이터db:seed
로 초기화합니다.그러나 데이터베이스가 존재하면 먼저 삭제하지 않는다.db:reset
를 사용하여 먼저 모든 데이터베이스를 삭제할 수도 있습니다.db:구조:덤프:폐기됨.이것은
structure.sql
파일을 덤프하는 데 사용됩니다.db: 구조: 불러오기: 버려졌습니다.이것은
structure.sql
파일을 불러오는 데 사용됩니다.For some history behind why these tasks were deprecated, check out this wtf. No, seriously.
db:시스템:change:Running
rails new
generator 데이터베이스를 지정하지 않고 응용 프로그램을 sqlite
로 설정합니다.앞으로 데이터베이스를 변경하는 것은 매우 번거롭다.이 작업은 rails db:change SYSTEM=postgresql|mysql|whatever
생성기에 의뢰하여 데이터베이스를 쉽게 변경할 수 있도록 도와 줍니다.db:version: 현재 구조의 버전 번호를 인쇄합니다.
됐다.Rails는 강력한 성능을 제공합니다.현명하게 그것을 사용하다.
다음까지!
Original Post: All the Database Tasks in Rails
Reference
이 문제에 관하여(Rails의 모든 데이터베이스 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/software_writer/all-the-database-tasks-in-rails-2jic텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)