Rails2.0になって少し仕様が変わったらしいのでメモを残しておく。
Rails 2.0のscaffoldを使ってみた - idesaku blogを参考に。(できるだけそのまま実行。)
2.0.2ではデフォルトのDBがSQLiteなので、SQLiteを使う場合のプロジェクト作成はDB指定無しでOK。
rails trial
SQLiteならdatabase.ymlの編集が要らない。これは試しに使うには楽だ。
cd trial
ruby script/generate scaffold person name:string age:integer
ここまでは順調。
rake db:migrateエラー発生。
(in /tmp/rails_app/trial)gemでsqlite3-rubyをインストール。(参考:【実践】RoR とAIRでデスクトップアプリを作る 4 - kajilog )
rake aborted!
no such file to load -- sqlite3
gem install sqlite3-rubysqlite-ruby 1.2.1を選択すると「make: *** `sqlite3_api_wrap.o' に必要なターゲット `ruby.h' を make するルールがありません.」というエラーになる。
sqlite-ruby 1.2.0ならインストールできるが、これはmigrateができない。
調べた結果、sqlite-develをインストールするらしい。(参考: gem install sqlite3-ruby でエラー発生 (技術メモ) )
("sqlite3-devel"でなくてよいのか?)
yum install sqlite-devel
これでsqlite-ruby 1.2.1がインストールできるようになった。migrateも無事にできた。
補足: SQliteにコマンドラインからアクセス
sqlite3のパラメータとして、アクセスしたいSQLiteのデータファイルのパスを渡す。
sqlite3 db/development.sqlite3SQLiteから抜けるには[Ctrl + D]、または".exit"。
でもきちんと使うならSQLiteはきつい。Query BrowserのあるMySQLを使うだろう。
参考: sqlite: SQLite データベースと会話するプログラム
0 件のコメント:
コメントを投稿