follow us in feedly

Rails 3.2とMySQLでアプリケーションを作成する

前回の記事(1ヶ月以上も前…)で Rails 3.2 の開発環境を構築しました。
ここから、少しずつでもいいのでアプリケーションを作っていきたいですね。
とりあえず、Rails と MySQL でアプリケーションの基礎構築までやってみました。
途中までは前回と同じような内容です。

サーバ環境や Rails 環境の構築は下記あたりを参考にしてください。
さくらVPS に nginx + WordPress の環境を構築する(1) – SSH の設定 | 77 Dogs Blog
さくらVPSに Rails 3.2 の開発環境を構築する | 77 Dogs Blog

Rails アプリを作成する

Rails アプリを作成して、アプリのディレクトリに移動します。
MySQLを使うためのオプションをつけて作成します
–skip-bundle オプションをつけると「bundle install」が実行されなくなります。

$ rails new rails_app -d mysql --skip-bundle
$ cd rails_app

作成されたディレクトリに移動して、Gemfile に下記を追加します。
下記を追加しないと Rails コンソールの起動やデータベース作成時に Javascript ランタイムエラーが出ます。

gem 'execjs'
gem 'therubyracer'

bundle install を実行して gem をインストールします。
-–path オプションでインストール先を指定できます。パスの指定は初回だけで大丈夫です。

$ bundle install --path vender/bundle

MySQL ユーザを作成する

MySQL のユーザを作成し、データベースを操作するための権限を設定します。

$ mysql -u root -p
Enter password:

mysql> CREATE USER 'testuser'@'localhot' IDENTIFIED BY 'testpass';
mysql> GRANT ALL ON rails_app_development.* TO 'testuser'@'localhost';
mysql> GRANT ALL ON rails_app_test.* TO 'testuser'@'localhost';

データベースを作成する

アプリで使用するデータベースを作成します。
まずは、config/database.yml に下記を追加します。

development:
  …
  username: testuser
  password: testpass
  …
test:
  …
  username: testuser
  password: testpass
  …

下記コマンドを実行して、データベースを作成します。
config/database.yml に定義した development と test のデータベースが作成されます。

$ rake db:create

以上で、Rails と MySQL を使ったアプリケーションが作成できました。

補足1: production のデータベースを作成する

production のデータベースを作成する場合は、config/database.yml の production: 以下を編集します。

production:
  …
  username: testuser
  password: testpass
  …

RAILS_ENV=production オプションをつけて、コマンドを実行します。
production のデータベースのみ作成されます。

$ rake db:create RAILS_ENV=production

また、 下記コマンドを実行すると config/database.yml で設定したデータベースがすべて作成されます。

$ rake db:create:all

補足2: データベースを削除する

データベースを削除するには、下記コマンドを実行します。
オプションや all の意味は、rake db:create と同じです。

$ rake db:drop
$ rake db:drop RAILS_ENV=production
$ rake db:drop:all

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください