Ruby on Rails 2를 사용하여 Sqlite에서 새 테이블을 만드는 가장 좋은 방법

StackOverflow https://stackoverflow.com/questions/200178

  •  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를 사용하여 데이터베이스에 적용 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top