概要
Railsのプロジェクトの開始は、おおむね次の手順による。
- プロジェクトファイル群の生成
- タイムゾーン設定
- MySQLサーバー起動
- Railsサーバー起動
ここまででRailsが準備したデフォルトのページが表示される。
手順
プロジェクトファイル群の作成
コマンドラインで以下を実行。RailsはデフォルトでSQLiteを使うので、MySQLを使うためにはプロジェクト生成時に指定する。
rails new project_name -d mysql
rails new project_name --database=mysql
project_name
でディレクトリーが作られ、その下にサブディレクトリ―やファイル群が作成される
タイムゾーンの設定
project_name/config/application.rb
ファイルを開く
以下の2行をclass Application...end
の間、config.load_defaults
の下に追加
1 2 |
config.time_zone = 'Tokyo' config.active_record.default_timezone = :local |
database.ymlの編集
MySQLをデータベースに指定しているので、config/database.yml
の編集が必要になる。
最低限、データベースのユーザー名とパスワードをdevelopment
ブロックに設定。
1 2 3 4 5 6 7 8 9 10 |
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: ****** socket: /var/lib/mysql/mysql.sock development: <<: *default |
MySQLサーバーの起動
以下のコマンドでMySQLサーバーを起動する。
sudo systemctl start mysqld
稼働状況の確認は以下のコマンド。
systemctl status mysqld
Railsサーバーの起動
プロジェクトディレクトリーに移動する。
cd project_name
サーバー起動のコマンドを実行する。
rails s
Rails 6の場合は以下。
rails s -b 0.0.0.0
確認
この段階でホスト側のブラウザーで以下のURLからRailsのデフォルト画面が表示されることを確認。
localhost:3000
ファイル配置
プロジェクトの削除
- データベースを作成している場合、データベースが不要なら削除
rails db:drop
- ただしMySQLレベルでデータベースが一切削除されてしまうので注意
- プロジェクトファイル群を削除
rm -rf project_name
実行例
実行例概要
demo_appという名前のプロジェクトを生成して結果を確認する。
最初はデータベースを設定せず、MySQLサーバーも起動しない。
プロジェクト生成
1 |
rails new demo_app -d mysql |
database.ymlの修正
config/database.yml
の内容を修正。
default
ブロック- データベースがmysql2であることを確認
username
とpassword
を設定
development
ブロックdatabase:
はとりあえずコメントアウト
test
ブロック・production
ブロック- とりあえず全てコメントアウト
最低限の構成は以下のとおり。
1 2 3 4 5 6 7 8 9 10 |
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: ****** socket: /var/lib/mysql/mysql.sock development: <<: *default |
Railsサーバー起動
1 2 3 4 5 6 7 8 9 10 11 12 |
[vagrant@localhost config]$ rails s -b 0.0.0.0 => Booting Puma => Rails 6.1.3 application starting in development => Run `bin/rails server --help` for more startup options Puma starting in single mode... * Puma version: 5.2.1 (ruby 3.0.0-p0) ("Fettisdagsbulle") * Min threads: 5 * Max threads: 5 * Environment: development * PID: 23302 * Listening on http://0.0.0.0:3000 Use Ctrl-C to stop |
接続確認
ホストのブラウザーからlocalhost:3000に接続し、デフォルト画面を確認。