りんちゃんの日記

日常を書き留めていきます。

rails環境構築centOS7(9. アプリ作成)

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.  TeraTermrails実行ユーザ(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)