9. アプリ作成(pkun)
9.1. アプリディレクトリに移動
# cd /var/www/app
9.2. アプリ作成
# rails new pkun -d mysql --skip-bundle ※注1
# bundle install --path vendor/bundle ※注2
# echo '/vendor/bundle' >> .gitignore ※注3
注1)dbはmysqlを引数にする。
<構文> rails new <プロジェクト名> -d mysql --skip-bundle
-d mysqlを指定しているのでデータベースはsqliteは使用せず、mariadbを使用する
⇒ここを省略するとsqlライトが自動で入ってしまう。
注2)要確認
注3)要確認
9.3. Gemfileの編集
# vi Gemfile
【編集内容】 赤文字部分追加
ruby '2.5.1'
gem 'therubyracer'
gem 'less-rails', git: 'https://github.com/MustafaZain/less-rails'
gem 'twitter-bootstrap-rails'
9.4. Gemfileを更新
# bundle install
9.5. database.ymlの更新(development環境、test環境のDBも作成するため)
【編集内容】 赤文字部分追加
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: 【DBrootユーザのパスワードを入力する】
socket: /var/lib/mysql/mysql.sock
9.6. TeraTermでrails実行ユーザ(pkun)でログインし直す
⇒ 必須:9.8参照
9.7. アプリディレクトリに移動
(DB作成時にproductionが作成されなかった)
# cd /var/www/app/pkun
9.8. DBの作成
# bin/rake db:create
【結果表示】
Created database 'pkun_test'
Created database 'pkun_development'
Created database 'pkun_production' ※注1
注1)「9.6」でログインをし直さないとエラーが起きる。
9.9. production環境に設定
productionのデータベースを使うの意
# rake db:migrate RAILS_ENV=production
■エラーが発生した場合
exitでpkunユーザでログインしなおして、9.6の作業からやり直す
# rake db:migrate RAILS_ENV=production
rake aborted!
ActiveRecord::NoDatabaseError: Unknown database 'pkun_production'
/home/pkun/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/home/pkun/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Caused by:
Mysql2::Error: Unknown database 'pkun_production'
/home/pkun/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/home/pkun/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)