「Ruby/rails/migration」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→型) |
|||
行1: | 行1: | ||
+ | ==DBインターフェイス用モデル(マイグレーション)作成== | ||
+ | rails generate scaffold user name:string age:integer | ||
+ | db/migrate/20110603100919_create_users.rbに出来ている | ||
+ | |||
+ | ==DBインターフェイス用モデル(マイグレーション)削除== | ||
+ | rails destroy scaffold user | ||
+ | |||
+ | ==マイグレーション実行== | ||
+ | developmentの場合 | ||
+ | rails db:migrate RAILS_ENV=development | ||
+ | productionの場合 | ||
+ | rails db:migrate RAILS_ENV=production | ||
+ | |||
+ | db/schema.rbができdbにtableが作成される。 | ||
+ | |||
+ | ==マイグレーション実行初期化== | ||
+ | 以下実行後マイグレーション再実行 | ||
+ | rails db:migrate version=0 | ||
+ | |||
+ | ==できたtable== | ||
+ | CREATE TABLE `users` ( | ||
+ | `id` bigint(20) NOT NULL AUTO_INCREMENT, | ||
+ | `name` varchar(255) DEFAULT NULL, | ||
+ | `age` int(11) DEFAULT NULL, | ||
+ | `created_at` datetime NOT NULL, | ||
+ | `updated_at` datetime NOT NULL, | ||
+ | PRIMARY KEY (`id`) | ||
+ | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 | ||
+ | idやageにunsignedが入ってないのに注意。 | ||
+ | |||
+ | ==httpアクセス== | ||
+ | ttp://localhost:3000/users | ||
+ | |||
==カラムを変更する場合== | ==カラムを変更する場合== | ||
rails g migration ChangeColumnToUser | rails g migration ChangeColumnToUser |
2017年11月11日 (土) 20:36時点における版
目次
DBインターフェイス用モデル(マイグレーション)作成
rails generate scaffold user name:string age:integer
db/migrate/20110603100919_create_users.rbに出来ている
DBインターフェイス用モデル(マイグレーション)削除
rails destroy scaffold user
マイグレーション実行
developmentの場合
rails db:migrate RAILS_ENV=development
productionの場合
rails db:migrate RAILS_ENV=production
db/schema.rbができdbにtableが作成される。
マイグレーション実行初期化
以下実行後マイグレーション再実行
rails db:migrate version=0
できたtable
CREATE TABLE `users` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
idやageにunsignedが入ってないのに注意。
httpアクセス
ttp://localhost:3000/users
カラムを変更する場合
rails g migration ChangeColumnToUser
作成されたファイルに変更情報を記載
vi db/migrate/20171107223726_change_column_to_user.rb
型
string : 文字列 text : 長い文字列 integer : 整数 float : 浮動小数 decimal : 精度の高い小数 datetime : 日時 timestamp : タイムスタンプ time : 時間 date : 日付 binary : バイナリデータ boolean : Boolean
サンプル
def change change_column :users, :wintimes, :integer , default: 0 change_column :users, :losetimes, :integer , default: 0 change_column :users, :rating, :integer , default: 1500 end