Railsでbundle exec ~~~~~
とかrake db:create
とかが一体何をしているのかよく知らなかったので調べてみた.
bundle execとは?
例えばコマンドラインで
$ bundle exec rails s
と入力して実行するとRailsサーバーが立ち上がる.
しかし,
$ rails s
と入力して実行してもRailsサーバーは立ち上がる.
じゃあ,前に付いているbundle exec
って何をしているのかという話なんです.
bundle exec
とつけて実行すると,そのRailsプロジェクトのGemfileで指定された環境で実行する事ができるようになります.
bundle install --without production
--without productionオプションを追加すると,本番用のgemはローカル環境にインストールはされない.
rake db:createって?
このコマンドを実行すると,Railsプロジェクトのconfigディレクトリの中にあるdatabase.ymlを読み込み,そのファイルに基づいてデータベースを作成します.
rake db:migrateって?
このコマンドを実行すると,Railsプロジェクトのdb/migrateディレクトリの中にあるスクリプトファイルに基づいてデータベースにテーブルを作成します.
rake db:seedって?
このコマンドを実行すると,Railsプロジェクトのdbディレクトリの中にあるseed.rbファイルを実行してデータベースにデータを格納します.
rake master:importって?
このコマンドを実行すると,Railsプロジェクトのlib/tasks内にある該当するスクリプトファイルを実行します.