Slide 13
Slide 13 text
例: マイグレーションと外部キー
● TiDBはforeign keyのSQLを理解し、テーブル定義として保持するが、実際には外部キーは作成されない (効果がない)
create_table "users", charset: "utf8mb4", collation: "utf8mb4_bin", force: :cascade do |t|
end
create_table "projects", charset: "utf8mb4", collation: "utf8mb4_bin", force: :cascade do |t|
t.bigint "user_id"
end
add_foreign_key "projects", "users"
● テーブル定義
mysql> show create table projects\G
*************************** 1. row ***************************
Table: projects
Create Table: CREATE TABLE `projects` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
KEY `index_projects_on_user_id` (`user_id`),
CONSTRAINT `fk_rails_b872a6760a` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin