Ruby on Rails 2를 사용하여 Sqlite에서 새 테이블을 만드는 가장 좋은 방법
-
03-07-2019 - |
문제
그렇다면 Rails 2의 Sqlite 데이터베이스에 새 테이블을 생성하는 가장 좋은 방법은 무엇입니까?rake db: migration 명령을 사용하여 데이터베이스를 생성했습니다.그렇다면 데이터베이스를 생성하거나 어떻게든 rake를 사용하기 위해 개별 SQL 스크립트를 작성해야 할까요?비계는 필요하지 않습니다.
해결책
기본적으로 마이그레이션을 사용합니다.
마이그레이션 사용 방법에 대한 유용한 도움이 가능합니다. http://wiki.rubyonrails.org/rails/pages/understandingmigrations 그리고 http://wiki.rubyonrails.org/rails/pages/usingmigrations. 내가 사용하는 좋은 치트 시트도 http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations.
기본적으로 마이그레이션은 루비 코드를 사용하여 데이터베이스 테이블을 만듭니다. SQL DDL보다는 멋진 루비 코드를 사용하는 것이 훨씬 쉽습니다 (적어도 내 의견으로는 SQL DDL이 아닌이 작업을 수행하는 것이 훨씬 쉽습니다. id
레일이 요구하는 모든 테이블의 필드). 그런 다음 레이크 작업을 사용하여 실제로 마이그레이션을 데이터베이스에 적용 할 수 있습니다. 마이그레이션이 제공하는 또 다른 주요 장점은 반전 가능하다는 것입니다. 따라서 데이터베이스가 버전이 제공되며 한 버전에서 다른 버전으로 쉽게 이동할 수 있습니다.
다른 팁
CREATE/ALTER 테이블 스크립트 작성을 피하고 대신 ActiveRecord 마이그레이션을 사용해 보세요.몇 가지 이유가 떠오릅니다.
- 이식성:AR이 교차 플랫폼 맛 차이를 다루게하는 것이 훨씬 쉽습니다.
- 변경 제어:당신의 마이그레이션은 변경 사항을 관리할 수 있습니다. VERSION=을 사용한 양방향 쉽지 않은 옵션 SQL로 수행
- Rails 방식은 다음과 같습니다.다음과 같은 경우를 제외하고는 Rails 규칙을 따르십시오. 하지 말아야 할 설득력 있는 이유가 있습니다. 그렇게하십시오
- 간단:마이그레이션을 사용할 때 ID 및 타임스탬프 열에 대해 걱정할 필요가 없으므로 SQL에서 작업할 때 기억할 필요가 없습니다.
스캐 폴딩을 사용하지 않으면 사용해야합니다. script/generate migration
각 테이블의 마이그레이션 파일을 만듭니다. SQL 스크립트를 사용할 필요가 없습니다. 일부 마이그레이션을 작성한 후 Rake DB : Migrate를 사용하여 데이터베이스에 적용 할 수 있습니다.