Ruby on Rails 2を使用してSqliteで新しいテーブルを作成する最良の方法

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

  •  03-07-2019
  •  | 
  •  

質問

だから、Rails 2のSqliteデータベースに新しいテーブルを作成する最良の方法は何ですか。rakedb:migrateコマンドを使用してデータベースを作成しました。したがって、データベースを作成したり、何らかの方法で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

基本的に、移行ではrubyコードを使用してデータベーステーブルを作成します。これを行うには、SQL DDLよりも素敵なルビーコードを使用する方がはるかに簡単です(少なくとも私の意見では)-また、さまざまなことを自動的に実行しますが必要です)。その後、rakeタスクを使用して、実際にデータベースに移行を適用できます。移行によって得られるもう1つの主な利点は、それらがリバース可能であることです。したがって、データベースがバージョン管理され、あるバージョンから別のバージョンに簡単にジャンプできます。

他のヒント

CREATE / ALTERテーブルスクリプトの記述を避け、代わりにActiveRecord移行を使用してください。いくつかの理由が思い浮かびます:

  • 移植性:はるかに簡単です クロスプラットフォームのフレーバーを扱うAR 違い
  • 変更管理:あなた 移行により、 VERSION =の両方向 オプション、簡単ではないもの SQLで行う
  • これはRailsの方法です。 以下の場合を除き、Railsの規則に従ってください しない理由があります そうする
  • シンプル:移行を使用するときにid列とtimestamp列を心配する必要はありません。SQLで作業する場合、それらを覚えておく必要がありません

scaffoldingを使用していない場合は、 script / generate migration を使用して、各テーブルの移行ファイルを作成する必要があります。 SQLスクリプトを使用する必要はありません。いくつかの移行を作成したら、rake db:migrateを使用してそれらをデータベースに適用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top