Rails는 데이터베이스와 관련하여 여러 기능들을 지원하고 있다.
databeses.rake 파일에서 사용 가능한 명령어들을 확인할 수 있다.
https://github.com/rails/rails/blob/v5.2.6/activerecord/lib/active_record/railties/databases.rake
- db:create
- 현재 환경에 대한 데이터베이스를 생성
- db:create:all
- 모든 환경에 대한 데이터베이스를 생성
- db:drop
- 현재 환경에 대한 데이터베이스를 삭제
- db:drop:all
- 모든 환경에 대한 데이터베이스를 삭제
- db:migrate
- 아직 실행되지 않은 현재 환경에 대한 마이그레이션들을 실행
- 마이그레이션을 실행할 경우 schema_migrations 테이블에 UTC 타임스탬프 마이그레이션 식별자가 추가
- db:migrate:up
- 하나의 특정 마이그레이션을 실행
- db:migrate:down
- 하나의 특정 마이그레이션을 롤백
- db:migrate:status
- 마이그레이션 파일 이름들과 해당 파일의 마이그레이션 상태를 up/down으로 확인 가능
- 현재 마이그레이션이 어디까지 진행되었는지 확인할 수 있음
- db:rollback
- schema_migrations 테이블의 마지막 마이그레이션 파일을 롤백
- db:forward
- 현재 스키마 버전을 다음 스키마 버전으로 진행
- db:seed
- db/seed.rb 파일을 실행하여 데이터를 추가
- 개발 및 테스트 환경에서 데이터베이스를 자주 로드해야 할 때 유용
- db:schema:load
- 현재 환경의 데이터베이스에 schema.rb 파일을 로드하여 테이블 생성
- db:schema:dump
- 현재 환경의 데이터베이스 구조와 일치하도록 스키마 파일을 업데이트 또는 생성
- db:setup
- db:schema:load, db:seed를 실행
- 스키마를 로드하고, 시드 데이터로 초기화 (db:reset을 사용하여 데이터베이스를 먼저 삭제할 수도 있음)
- db:reset
- db:drop, db:setup 실행
- 데이터베이스를 삭제하고 현재 환경에 맞게 db/schema.rb 파일을 로드하여 재생성한 후 시드 데이터를 로드
- db:migrate:redo
- 지정된 마이그레이션에 따라 (db:migrate:down db:migrate:up) 또는 (db:rollback db:migrate)를 실행
- db:migrate:reset
- db:drop, db:create, db:migrate 실행
- 현재 환경에 대한 마이그레이션 파일들을 사용하여 데이터베이스를 초기화합니다.
'Programming > Ruby On Rails' 카테고리의 다른 글
Ruby의 객체 복사 (0) | 2024.03.27 |
---|---|
[Ruby On Rails] before_action 및 after_action 사용법과 실행 순서 (0) | 2023.06.17 |
[Ruby On Rails] Module Mixin (2) - ActiveSupport::Concern (0) | 2023.04.30 |
[Ruby On Rails] Module Mixin (1) - include, prepend, extend (0) | 2023.04.18 |
[Ruby On Rails] Eager loading으로 N+1 문제 해결하기 (0) | 2023.04.16 |