毎日更新の目標は早速達成できず。
お酒を飲んで帰るとPC見るのつらいんですよー。
さて、Cloud9でRailsテンプレートを作成すると最初はSQLiteを使うようになっていると思いますが、MySQLが使えるようなので、MySQLに変えちゃいます。
Gemfileを編集します。
# Use sqlite3 as the database for Active Record
#gem 'sqlite3'
gem 'mysql2', '~> 0.3.20'
最初は赤文字の行が記載されていると思いますので、ここを削除またはコメントアウトして、gem 'mysql2', '~> 0.3.20'を追加します。
※2015/12/6現在最新のgemを入れるとmodelが作成できないようです。。。ご注意です。
したらば、コンソールでプロジェクトのルートへ行き、
bundle install
と打ってみましょう。
bundle install はGemfile内で指定された依存性のインストールをしてくれます。
使いたいgemをGemfileに書くといい感じにインストールしてくれるってことですね。
バージョンを指定しなければ最新のが入ります。
databaseに接続する為には、config/database.ymlを編集する必要があります。
development:
adapter: mysql2
encoding: utf8
database: c9
username: <%=ENV['C9_USER']%>
host: <%=ENV['IP']%>
今回はCloud9が用意してくれているDBを使います。
ローカルで動かしているなら、自分で作ったDB名とユーザー名いれて、hostにはlocalhostって入れれば接続できます。
win7だともしかしたらlocalhostでは繋がらない可能性もありますよね。
その場合は127.0.0.1でいけると思います。
したらば、とりあえずmysqlを起動しておきましょう。
mysql-ctl start
さて、DBも繋がったことですし、早速modelを作成しましょう。
コンソールで
rails generate model UserBase
を入力します。
UserBaseは私がこれから使いたいテーブル名ですので、お好きな名前を入れてください。
すると、
db/migrate/20151205133900_create_user_bases.rb
app/model/にuser_base.rb
test/models/user_base_test.rb
test/fixtures/user_bases.yml
みたなファイルが追加されます。
次に、テーブルのカラムを決めます。
さっき作ったdb/migrate/20151205133900_create_user_bases.rbを編集します。
class CreateUserBases < ActiveRecord::Migration
def change
create_table :user_bases do |t|
t.string :name, :null => true
t.string :name_kana, :null => true
t.string :mail, :null => true
t.integer :authority, :null => true
t.date :last_login, :null => true
t.timestamps null: false
end
end
end
こんな感じで書きます。
んで、
rake db:migrate
ってするとテーブルとカラムが作成されます。
mysql> show tables from c9;
+-------------------+
| Tables_in_c9 |
+-------------------+
| schema_migrations |
| user_bases |
+-------------------+
2 rows in set (0.00 sec)
mysql> desc user_bases;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| name_kana | varchar(255) | YES | | NULL | |
| mail | varchar(255) | YES | | NULL | |
| authority | int(11) | YES | | NULL | |
| last_login | date | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
次回は、実際にrailsからDBの書き込みと読み出しをします。