*目次 [#u1aeacbf]
#contents

*データベース管理 [#ic424f66]
**初期データベースの作成 [#le8241ff]

-mysqlの管理コマンドを使ってデータベースを作っても良いが、rakeコマンドで作ることもできる。
-rake db:create で config/database.ymlの設定に従ってデータベースを作ってくれる。当然database.ymlに記述されているユーザー、パスワードは正しいモノでないといけない。
 rake db:create RAILS_ENV='development'

※以下のエラーがでる場合、database.ymlの「host: localhost」を「host: 127.0.0.1」に変更。mysql用ドライバのバグらしい。
#pre{{
Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"
=>"testuser", "adapter"=>"mysql", "database"=>"depot_development", "host"=>"loca
lhost", "pool"=>5, "password"=>"testpassword"}, charset: utf8, collation: utf8_u
nicode_ci (if you set the charset manually, make sure you have a matching collat
ion)

}}

*テーブル管理 [#g01a6102]
**テーブル生成用のmigrationファイルを作る [#y9dd3dd7]
**migrationとは [#cdfa8ae5]
-テーブルの作成やカラムの追加をruby scriptで行うことができるもの。
-バージョン管理が可能。
-テストデータの投入も可能。ただし2.3.4以降seeds.rbを使うのがベター?
**migrationファイルを作る [#y9dd3dd7]
***単独のmigrationファイルを作る [#z1e08bba]
 ruby script/generate migration create_tables

db/migrate/XXXXXXXXXXXXXXXX_create_tables.rbというファイルができているのでその中身を編集する。


※ただしmodelやscaffoldと同時にmigrationファイルを作るのが普通らしい。



**migrationを最初からやりなおす [#lb50b985]
-VERSION=Xを指定するとそのバージョンまで戻る。
 rake db:migrate VERSION=0
-その後バージョンを指定せずに実行すれば最新まで再実行される。
 rake db:migrate

*データ管理 [#a9e4a7fd]
**マスターデータの管理 [#se3eff1b]
-[[Rails 2.3.4で追加されたseeds.rbについて - ひげろぐ:http://brass.to/blog/rails-2-3-4%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%9Fseeds-rb%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.html]]によると、seeds.rbを使ってマスターデータを投入するのがよさそう。
-db/seeds.rbの中には普通にrubyのコードを書けばよいのでrailsの機能を使ってINSERTできる。
#pre{{
Genre.delete_all
Genre.create([
{:type => 1, :label => 'サッカー'},
{:type => 2, :label => '野球'},
])
}}
-以下のコマンドで実行する
 rake db:seed


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS