Return to Tech/ruby

Ruby on Rails - Model


モデル
データベース関連の設定を行います。


モデルの作成
以下コマンドを実行します。

$ bin/rails generate model User
  invoke active_record
  create db/migrate/2015??????????_create_users.rb
  create app/models/user.rb


テーブル定義を調整 file:webapps/db/migrate/2015??????????_create_users.rb class CreateUsers < ActiveRecord::Migration def change
create_table :users, primary_key: 'user_id' do |t| t.string :name, null: false t.string :password
t.timestamps null: false end add_index :users, :name, unique: true end end
DBマイグレーション $ bin/rake db:migrate == 2015?????????? CreateUsers: migrating =========== -- create table(:users, {:primary_key=>"user_id"}) -> 0.0333s -- add_index(:users, :name, {:unique=>true}) -> 0.0566s == 2015?????????? CreateUsers: migrated (0.0910s) == 以下は直後のテーブル定義の内容です MariaDB [webapps_development]> desc users; +------------+--------------+------+---------+----------------+ | Field | Type | Null | Default | Extra | +------------+--------------+------+---------+----------------+ | user_id | int(11) | NO | NULL | auto_increment | | name | varchar(255) | NO | NULL | | | password | varchar(255) | YES | NULL | | | created_at | datetime | NO | NULL | | | updated_at | datetiem | NO | NULL | | +------------+--------------+------+---------+----------------+ 5 rows in set (0.00 sec)
テーブルにデータを投入 シードデータの投入機能もありますが 今回は手動で挿入します。 MariaDB [webapps_development]> insert into users(name, password) values('tera', 'fugahoge'); Query OK, 1 row affected, 2 warnings (0.01 sec) MariaDB [webapps_development]> select * from users; +---------+------+----------+---------------------+---------------------+ | user_id | name | password | created_at | updated_at | +---------+------+----------+---------------------+---------------------+ | 1 | tera | fugahoge | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 | +---------+------+----------+---------------------+---------------------+ 1 rows in set (0.00 sec)

Return to Tech/ruby