備忘録のような何か

何か += 備忘録( 日々のこと, 妄想, IT, DIY, 畑仕事 );

【開発日誌/Ruby】データベースを用意しましょう

移転しました。

約5秒後に自動的にリダイレクトします。



前回はbookモデルを作りました。
今回はcontrollerとviewをやりたかったのですが、
その前にデータベースの準備で意外と苦戦してしまいそこまで行けませんでした。。。



さてモデルが出来たので、テーブルを作成したいと思います。

booksテーブルの定義は"rails g model"コマンドの実行時に作成された
db/migrate/20160117050723_create_books.rbファイルにあります。

データベースの定義はconfig/database.ymlですね。
今回はSQLiteを使うので、初期設定のままでOK。

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3


では早速データベースの作成を。

$ rake db:create
rake aborted!
LoadError: cannot load such file -- bundler/setup
/Users/<user>/dev/ruby/rails/kiroku/config/boot.rb:3:in `<top (required)>'
/Users/<user>/dev/ruby/rails/kiroku/config/application.rb:1:in `<top (required)>'
/Users/<user>/dev/ruby/rails/kiroku/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)


ん?失敗した^^;
あぁ、そもそもコマンド間違ってたwww
気を取り直して。

bundle exec rake db:create
Could not find rake-10.5.0 in any of the sources
Run `bundle install` to install missing gems.


おや?Gemが見つからないとおっしゃっておられる。
ではインストールして、"bundle install"をしてみましょう。

$ gem install rake --version='10.5.0'
$ rm Gemfile.lock
$ bundle install


もう一度。

$ bundle exec rake db:create
Could not find i18n-0.7.0 in any of the sources
Run `bundle install` to install missing gems.


あれれ?別のGemでエラーになった。。。

というようなことを何回か繰り返し、
結局Gemfileに書いてあるほとんどのGemをインストールしました。
なんやろ?railsのアップデートしたからかな?
どっかで必要な手順を抜かしたのかも?

なにはともあれ、エラーはなくなったのだけど。。。

$ bundle exec rake db:create
db/development.sqlite3 already exists


(・∀・)既にあったw

よし、次だ。
booksテーブルを作成しますよ。

$ bundle exec rake db:migrate
== 20160117050723 CreateBooks: migrating ======================================
-- create_table(:books)
   -> 0.0026s
== 20160117050723 CreateBooks: migrated (0.0027s) =============================


こっちは一発でOK。
ふう、無駄に時間がかかってしまった。

(。・ω・)ノシ