Ruby on Rails, rake 도구 사용 및 데이터베이스 migrations 이전 개념

3840 단어 Railsrakemigration
제 블 로그 에 오신 걸 환영 합 니 다.http://blog.csdn.net/abbuggy/article/details/7648920
에서 만 든 간단 한 CMS 시스템 의 골격 은 이미 구축 되 었 고 데이터 베이스 와 의 상호작용 을 위해 정확 한 설정 을 했다.현재 데이터베이스 구 조 를 rake 명령 을 통 해 내 보 냅 니 다. 현재 데이터베이스 에 표 가 없습니다. 괜 찮 습 니 다. 이 상태 가 필요 합 니 다.
E:\greensoft\RailsInstaller\Sites\simple_cms>rake db:schema:dump

명령 이 제대로 실행 되 었 다 면 힌트 가 없 었 을 것 입 니 다. 오류 가 있 었 다 면 데이터베이스 연결 에 문제 가 있 었 을 것 입 니 다. 자체 적 으로 확인 해 봐 야 합 니 다.내 보 낸 결 과 는 simple 에 저 장 됩 니 다.cms/db/schema. rb 에는 확실히 아무것도 없습니다.
ActiveRecord::Schema.define(:version => 0) do

end

rake 는 Ruby 의 도구 명령 이 make 와 비슷 하 다 는 뜻 입 니 다. 그 형식 은 rake xxx: yy: zzz KEY = VALUE 의 xx 와 yy 는 디 렉 터 리 와 유사 하여 명령 을 유형 별로 구분 합 니 다.KEY 와 VALUE 는 각각 매개 변수의 이름과 값 이다.rake - T 를 통 해 실행 할 수 있 는 모든 rake 작업 을 표시 할 수 있 습 니 다. 데이터 베 이 스 를 내 보 내 는 명령 도 열 려 있 습 니 다.
E:\greensoft\RailsInstaller\Sites\simple_cms>rake -T
rake about              # List versions of all Rails frameworks and the env...
rake assets:clean       # Remove compiled assets
rake assets:precompile  # Compile all the assets named in config.assets.pre...
rake db:create          # Create the database from config/database.yml for ...
rake db:drop            # Drops the database for the current Rails.env (use...
rake db:fixtures:load   # Load fixtures into the current environment's data...
rake db:migrate         # Migrate the database (options: VERSION=x, VERBOSE...
...

rake - T db: schema 와 같은 일부 명령 이름 에 따라 범 위 를 좁 힐 수도 있 습 니 다.
E:\greensoft\RailsInstaller\Sites\simple_cms>rake -T db:schema
rake db:schema:dump  # Create a db/schema.rb file that can be portably used...
rake db:schema:load  # Load a schema.rb file into the database

미리 정 의 된 작업 을 제외 하고 제3자 나 자체 적 으로 사용자 정의 작업 을 작성 할 수 있 습 니 다.퀘 스 트 의 정 의 는 simplecms\lib\tasks 디 렉 터 리 에 있 습 니 다.
열 거 된 모든 작업 에 대한 설명 이 있 습 니 다. 작업 의 소개 와 사용 방법 을 더 자세히 보 려 면 - D 인 자 를 사용 해 야 합 니 다.예 를 들 어 db: schema: dump 의 더 많은 정 보 를 보 는 것 과 같 습 니 다.
E:\greensoft\RailsInstaller\Sites\simple_cms>rake -D db:schema:dump
rake db:schema:dump
    Create a db/schema.rb file that can be portably used against any DB supported by AR

rake 명령 을 소개 한 후 방금 데이터 베 이 스 를 내 보 낸 일 로 돌아 가 데이터베이스 의 현재 상 태 를 내 보 내 는 것 은 데이터베이스 이전 migrate 를 위 한 것 입 니 다.
무엇이 데이터베이스 이전 입 니까?
데이터베이스 이전 은 데이터베이스 이전 파일 을 사용 하여 데이터 베 이 스 를 한 상태 에서 다른 상태 로 변환 하 는 동작 이다.모든 이전 작업 은 데이터 베 이 스 를 대상 으로 한 수정 을 대표 하고 데이터 베이스 에 독립 된 소스 프로그램 형식 으로 설명 합 니 다. 이것 이 바로 데이터 베이스 이전 파일 입 니 다.수 정 된 내용 은 데이터베이스 구 조 를 겨냥 한 것 일 수도 있 고 표 의 데 이 터 를 겨냥 한 것 일 수도 있다.우 리 는 이 이전 작업 으로 데이터 베 이 스 를 업그레이드 할 수 있 습 니 다. 예 를 들 어 표를 만 드 는 것 입 니 다.만 든 시 계 를 삭제 하 는 등 데이터베이스 작업 을 취소 할 수도 있 습 니 다.
왜 데이터 베 이 스 를 이용 하여 이전 합 니까?
개발 과정 에서 우 리 는 모든 원본 파일 을 버 전 관리 에 포함 시 켰 다. 그러면 우리 가 잘못 을 저 질 렀 을 때 조작 을 취소 할 수 있 고 매일 어떤 변화 가 발생 했 는 지 감시 할 수 있다.그러나 개발 이 진 전 됨 에 따라 레일 스 응용의 데이터베이스 테이블 구 조 는 끊임없이 변화 할 것 이다. 여기에 테이블 을 하나 더 하고, 거기에 필드 이름 을 바 꾸 는 것 은 이런 것들 이다.코드 가 바 뀌 면서 데이터베이스 구조 도 바 뀌 고 있다.
이전에 이것 은 큰 문 제 였 다.개발 자 (또는 데이터베이스 관리자) 는 필요 에 따라 데이터베이스 구 조 를 바 꿀 수 있 지만, 응용 프로그램 코드 가 비교적 빠 른 버 전 으로 되 돌아 가면 데이터베이스 테이블 구조의 수정 을 취소 하기 가 어렵다. 데이터베이스 자체 에 버 전 정보 가 없다.
데이터베이스 이전 기능 이 추 가 된 Rails 는 데이터베이스 이전 작업 에 사용 되 는 버 전 번 호 를 schema 에 저장 합 니 다.migrations 표 에 현재 버 전의 데이터 베 이 스 는 어떤 이전 파일 이 순서대로 생 성 되 었 는 지 보 여 줍 니 다.
새로운 이전 작업 을 사용 하여 데이터베이스 구 조 를 업데이트 하 라 고 요구 할 때 사용 가능 한 이전 작업 버 전 번호 와 schemamigrations 표 의 버 전 번 호 를 비교 해 보면 schemamigrations 표 에 없 는 버 전 은 순서대로 실 시 됩 니 다.이렇게 되면 개발 과정 에서 우 리 는 코드 를 스크롤 백 할 수 있 을 뿐만 아니 라 데이터 베이스 구조 와 그 중의 내용 을 이전 또는 그 후의 어느 순간 으로 전환 할 수 있다.
레일 스 가 우리 에 게 제공 하 는 이전 기능 은 편리 하고 강력 하 므 로 잘 파악 할 만하 다.
제 블 로그 에 오신 걸 환영 합 니 다.http://blog.csdn.net/abbuggy/article/details/7648920

좋은 웹페이지 즐겨찾기