「Ruby/rails/db接続」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→httpアクセス) |
(→できたtable) |
||
行31: | 行31: | ||
`id` bigint(20) NOT NULL AUTO_INCREMENT, | `id` bigint(20) NOT NULL AUTO_INCREMENT, | ||
`name` varchar(255) DEFAULT NULL, | `name` varchar(255) DEFAULT NULL, | ||
+ | `age` int(11) DEFAULT NULL, | ||
`created_at` datetime NOT NULL, | `created_at` datetime NOT NULL, | ||
`updated_at` datetime NOT NULL, | `updated_at` datetime NOT NULL, | ||
PRIMARY KEY (`id`) | PRIMARY KEY (`id`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 | ||
− | + | idやageにunsignedが入ってないのに注意。 | |
==httpアクセス== | ==httpアクセス== | ||
ttp://localhost:3000/users | ttp://localhost:3000/users |
2017年11月6日 (月) 22:00時点における版
目次
databaseのschemaを作っておく
create database helloworld_development default character set utf8mb4;
db設定追加
vi config/database.yml
host: localhost username: user1 password: passwoireru
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