facebook twitter hatena line email

「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にunsignedが入ってないのに注意。
+
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