###### tags: `CST2020` ## 去年の仕様 [昨年度のDB](https://hackmd.io/@ss02jp/SJI3LZa1r) # DB ## はじめに <!-- * MariaDBのバージョンは以下の通りとします。(7/17 追記) ```bash mysql Ver 15.1 Distrib 10.4.6-MariaDB, for Linux (x86_64) using readline 5.1 ``` --> * 去年のDBの仕様から若干弄ってあるだけです * データベース名: cst2020 * データベースには、foreign keyのみで難しい項目に関しては、トリガーを作成し、一部の処理を自動的に行うようにする。 * laravelならmigration ファイルを使えば簡単にできるかとおもいます。 * テーブル上のレコードidにはauto_increment属性を付与する。 * (アンダーバー)がついているテーブルは外部キーを表しています。 * 疑問などありましたら4403荒井までお願いします。 ## DB仕様 * ユーザー情報テーブル(user) ユーザとグループの関連性を参照するためのテーブル このテーブルに、ユーザの登録情報を追加する可能性あり、passやユーザ名など(7/14 追記) |id|group_gid|password| |-|-|-| |ユーザーid|グループid|CTFのパスワード| |int, (auto_increment), primary key|int|char| * チーム情報テーブル(group) グループの情報を参照するためのテーブル |gid|gname| |-|-| |グループid|グループ名| |int, (auto_increment), primary key|text| * 正回答テーブル(ac) どのユーザがどの問題をどの時間で正回答したのかを参照するためのテーブル (gidは不要な気がする) 7/2 gid消しました。 2020 5/26 コメントusersテーブルから取得お願いします。 |id|user_id|question_qid|ctime| |-|-|-|-| |レコードid|ユーザーid|問題id|正回答時間| |int, auto_increment, primary key|int|int|datetime| * 問題テーブル(question) 問題内容と回答に対して難度・問題idを関連付け、それを参照するためのテーブル |qid|lv_lvid|title|content|answer| |-|-|-|-|-| |問題id|難度id|問題タイトル|問題内容|問題の正答| |int, (auto_increment), primary key|int|text|text|text| * 難度別テーブル(lv) 難度別に難度の名称と難度idの得点と問題数を参照するためのテーブル 2020 5/20 qnumはコントローラ側でcountするのがいいと思う(qnum消す可能性大) |lvid|lvname|score|qnum| |-|-|-|-| |難度id|難度の名称|難度idの点数|難度の問題数| |int, (auto_increment), primary key|text|int|int|| * ユーザ別点数推移(uscore) ユーザ別に点数の推移を参照するためのテーブル トリガーでacからひっぱってきています |id|user_id|uscore|utime| |-|-|-|-| |レコードid|ユーザid|ユーザidの点数|記録時間| |int, auto_increment, primary key|int|int|datetime| * グループ別点数推移(gscore) グループ別に点数の推移を参照するためのテーブル トリガーでacからひっぱってきています (テーブルの列名の並びやprimaryについては、システム次第でより列数を削減したテーブルになる可能性有) |id|group_gid|gscore|gtime| |-|-|-|-| |レコードid|グループid|グループidの点数|記録時間| |int, auto_increment, primary key|int|int|time_stamp| * 競技得点(sort) sortには仕分けという意味があるらしい。競技の得点を換算するためのテーブルdoneのcountで得点を換算する予定 |id|group_gid|sort_time|done| |-|-|-|-| |レコードid|グループid|記録時間|成功or失敗| |int, auto_increment, primary y|int|time_stamp|boolean| * 質問テーブル(situmons) 中学生のCTFの時に質問するボックスがあるといいかなと思って実装しました。 |id|situmons|answer|user_id| |-|-|-|-| |レコードid|質問|回答|ユーザid| |int, auto_increment, primary y|text|text|int| ## 追加予定 * ニューステーブル(news) 詳細は競技班へ |id|title|author|date|text|uidread| |-|-|-|-|-|-| |レコードid|タイトル|作成者|作成日時|ニュース本文|見たユーザのID(カンマ区切り)| |int, auto_increment, primary key|varchar(64)|varchar(64)|datetime|text|text| * 問題数テーブル(total) 総問題数と総点数を参照するためのテーブル |qnum|totalscore| |-|-| |総問題数|総点数| |int|int| * * 競技で必要になるテーブル * 質問箱(situmon) 多分質問箱を設置する予定なのでそれに伴い必要なテーブル ## 疑問点 メール機能はCTFだけのものなのか? 競技面との連携 ## 今のところのDBのダンプ ``` -- phpMyAdmin SQL Dump -- version 4.9.1 -- https://www.phpmyadmin.net/ -- -- ホスト: 127.0.0.1 -- 生成日時: -- サーバのバージョン: 10.4.8-MariaDB -- PHP のバージョン: 7.3.10 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- データベース: `cst2020_proto` -- DELIMITER $$ -- -- プロシージャ -- CREATE DEFINER=`root`@`localhost` PROCEDURE `ac` (IN `u_id` INT, IN `q_qid` INT, IN `c_time` DATETIME) begin declare g_id int; declare q_score int; declare u_score int; declare g_score int; declare latest int; select score into q_score from lv where lvid in(select lv_lvid from questions where qid= q_qid); select group_gid into g_id from users where id=u_id; select uscore into latest from uscore where user_id=u_id order by utime desc limit 1; set u_score = q_score+ifnull(latest,0); insert into uscore(user_id,uscore,utime) values(u_id,u_score,c_time); select gscore into latest from gscore where group_gid=g_id order by gtime desc limit 1; set g_score = q_score+ifnull(latest,0); insert into gscore(group_gid,gscore,gtime) values(g_id,g_score,c_time); end$$ DELIMITER ; -- -------------------------------------------------------- -- -- テーブルの構造 `ac` -- CREATE TABLE `ac` ( `id` bigint(20) UNSIGNED NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `question_qid` int(10) UNSIGNED NOT NULL, `ctime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- トリガ `ac` -- DELIMITER $$ CREATE TRIGGER `ac` AFTER INSERT ON `ac` FOR EACH ROW call ac(new.user_id, new.question_qid ,new.ctime) $$ DELIMITER ; -- -------------------------------------------------------- -- -- テーブルの構造 `failed_jobs` -- CREATE TABLE `failed_jobs` ( `id` bigint(20) UNSIGNED NOT NULL, `connection` text COLLATE utf8mb4_unicode_ci NOT NULL, `queue` text COLLATE utf8mb4_unicode_ci NOT NULL, `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `failed_at` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `gachacount` -- CREATE TABLE `gachacount` ( `id` bigint(20) UNSIGNED NOT NULL, `group_gid` int(10) UNSIGNED NOT NULL, `count` int(11) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `groups` -- CREATE TABLE `groups` ( `gid` int(10) UNSIGNED NOT NULL, `gname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- テーブルのデータのダンプ `groups` -- INSERT INTO `groups` (`gid`, `gname`, `created_at`, `updated_at`) VALUES (1, 'Ateam', NULL, NULL), (2, 'Bteam', NULL, NULL), (3, 'Cteam', NULL, NULL), (4, 'Dteam', NULL, NULL), (5, 'Eteam', NULL, NULL); -- -------------------------------------------------------- -- -- テーブルの構造 `gscore` -- CREATE TABLE `gscore` ( `id` bigint(20) UNSIGNED NOT NULL, `group_gid` int(10) UNSIGNED NOT NULL, `gscore` int(10) UNSIGNED NOT NULL, `gtime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `lv` -- CREATE TABLE `lv` ( `lvid` int(10) UNSIGNED NOT NULL, `lvname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `score` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- テーブルのデータのダンプ `lv` -- INSERT INTO `lv` (`lvid`, `lvname`, `score`) VALUES (1, 'easy', '1'), (2, 'normal', '2'), (3, 'hard', '3'); -- -------------------------------------------------------- -- -- テーブルの構造 `migrations` -- CREATE TABLE `migrations` ( `id` int(10) UNSIGNED NOT NULL, `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `batch` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- テーブルのデータのダンプ `migrations` -- INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (1, '2014_10_12_100000_create_password_resets_table', 1), (2, '2019_08_19_000000_create_failed_jobs_table', 1), (3, '2020_05_20_080953_create_lv_table', 1), (4, '2020_05_22_190907_create_groups_table', 1), (5, '2020_05_23_190907_create_users_table', 1), (6, '2020_05_26_063236_create_questions_table', 1), (7, '2020_05_26_063912_create_ac_table', 1), (8, '2020_06_04_172304_create_trigger', 1), (9, '2020_06_08_030612_ugscore_trigger', 1), (10, '2020_06_08_033340_create_ugscore_table', 1), (11, '2020_07_29_220251_create_situmon_table', 1), (12, '2020_07_29_220933_create_sort_table', 1), (13, '2020_07_29_221002_create_news_table', 1), (14, '2020_08_03_144011_create_gachacount_table', 1); -- -------------------------------------------------------- -- -- テーブルの構造 `news` -- CREATE TABLE `news` ( `id` bigint(20) UNSIGNED NOT NULL, `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `author` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `date` datetime NOT NULL, `text` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `password_resets` -- CREATE TABLE `password_resets` ( `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `questions` -- CREATE TABLE `questions` ( `qid` int(10) UNSIGNED NOT NULL, `lv_lvid` int(10) UNSIGNED NOT NULL, `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `content` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `answer` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- テーブルのデータのダンプ `questions` -- INSERT INTO `questions` (`qid`, `lv_lvid`, `title`, `content`, `answer`, `created_at`, `updated_at`) VALUES (1, 1, 'テスト問題1_1', '1と打ち込んで', '1', NULL, NULL), (2, 1, 'テスト問題1_2', '2と打ち込んで', '2', NULL, NULL), (3, 1, 'テスト問題1_3', '3と打ち込んで', '3', NULL, NULL), (4, 1, 'テスト問題1_4', '4と打ち込んで', '4', NULL, NULL), (5, 1, 'テスト問題1_5', '5と打ち込んで', '5', NULL, NULL), (6, 1, 'テスト問題1_6', '6と打ち込んで', '6', NULL, NULL), (7, 1, 'テスト問題1_7', '7と打ち込んで', '7', NULL, NULL), (8, 1, 'テスト問題1_8', '8と打ち込んで', '8', NULL, NULL), (9, 1, 'テスト問題1_9', '9と打ち込んで', '9', NULL, NULL), (10, 1, 'テスト問題1_10', '10と打ち込んで', '10', NULL, NULL), (11, 1, 'テスト問題1_11', '11と打ち込んで', '11', NULL, NULL), (12, 1, 'テスト問題1_12', '12と打ち込んで', '12', NULL, NULL), (13, 1, 'テスト問題1_13', '13と打ち込んで', '13', NULL, NULL), (14, 1, 'テスト問題1_14', '14と打ち込んで', '14', NULL, NULL), (15, 1, 'テスト問題1_15', '15と打ち込んで', '15', NULL, NULL), (16, 1, 'テスト問題1_16', '16と打ち込んで', '16', NULL, NULL), (17, 1, 'テスト問題1_17', '17と打ち込んで', '17', NULL, NULL), (18, 1, 'テスト問題1_18', '18と打ち込んで', '18', NULL, NULL), (19, 1, 'テスト問題1_19', '19と打ち込んで', '19', NULL, NULL), (20, 1, 'テスト問題1_20', '20と打ち込んで', '20', NULL, NULL), (21, 2, 'テスト問題2_1', '1と打ち込んで', '1', NULL, NULL), (22, 2, 'テスト問題2_2', '2と打ち込んで', '2', NULL, NULL), (23, 2, 'テスト問題2_3', '3と打ち込んで', '3', NULL, NULL), (24, 2, 'テスト問題2_4', '4と打ち込んで', '4', NULL, NULL), (25, 2, 'テスト問題2_5', '5と打ち込んで', '5', NULL, NULL), (26, 2, 'テスト問題2_6', '6と打ち込んで', '6', NULL, NULL), (27, 2, 'テスト問題2_7', '7と打ち込んで', '7', NULL, NULL), (28, 2, 'テスト問題2_8', '8と打ち込んで', '8', NULL, NULL), (29, 2, 'テスト問題2_9', '9と打ち込んで', '9', NULL, NULL), (30, 2, 'テスト問題2_10', '10と打ち込んで', '10', NULL, NULL), (31, 2, 'テスト問題2_11', '11と打ち込んで', '11', NULL, NULL), (32, 2, 'テスト問題2_12', '12と打ち込んで', '12', NULL, NULL), (33, 2, 'テスト問題2_13', '13と打ち込んで', '13', NULL, NULL), (34, 2, 'テスト問題2_14', '14と打ち込んで', '14', NULL, NULL), (35, 2, 'テスト問題2_15', '15と打ち込んで', '15', NULL, NULL), (36, 2, 'テスト問題2_16', '16と打ち込んで', '16', NULL, NULL), (37, 2, 'テスト問題2_17', '17と打ち込んで', '17', NULL, NULL), (38, 2, 'テスト問題2_18', '18と打ち込んで', '18', NULL, NULL), (39, 2, 'テスト問題2_19', '19と打ち込んで', '19', NULL, NULL), (40, 2, 'テスト問題2_20', '20と打ち込んで', '20', NULL, NULL), (41, 3, 'テスト問題3_1', '1と打ち込んで', '1', NULL, NULL), (42, 3, 'テスト問題3_2', '2と打ち込んで', '2', NULL, NULL), (43, 3, 'テスト問題3_3', '3と打ち込んで', '3', NULL, NULL), (44, 3, 'テスト問題3_4', '4と打ち込んで', '4', NULL, NULL), (45, 3, 'テスト問題3_5', '5と打ち込んで', '5', NULL, NULL), (46, 3, 'テスト問題3_6', '6と打ち込んで', '6', NULL, NULL), (47, 3, 'テスト問題3_7', '7と打ち込んで', '7', NULL, NULL), (48, 3, 'テスト問題3_8', '8と打ち込んで', '8', NULL, NULL), (49, 3, 'テスト問題3_9', '9と打ち込んで', '9', NULL, NULL), (50, 3, 'テスト問題3_10', '10と打ち込んで', '10', NULL, NULL), (51, 3, 'テスト問題3_11', '11と打ち込んで', '11', NULL, NULL), (52, 3, 'テスト問題3_12', '12と打ち込んで', '12', NULL, NULL), (53, 3, 'テスト問題3_13', '13と打ち込んで', '13', NULL, NULL), (54, 3, 'テスト問題3_14', '14と打ち込んで', '14', NULL, NULL), (55, 3, 'テスト問題3_15', '15と打ち込んで', '15', NULL, NULL), (56, 3, 'テスト問題3_16', '16と打ち込んで', '16', NULL, NULL), (57, 3, 'テスト問題3_17', '17と打ち込んで', '17', NULL, NULL), (58, 3, 'テスト問題3_18', '18と打ち込んで', '18', NULL, NULL), (59, 3, 'テスト問題3_19', '19と打ち込んで', '19', NULL, NULL), (60, 3, 'テスト問題3_20', '20と打ち込んで', '20', NULL, NULL); -- -------------------------------------------------------- -- -- テーブルの構造 `situmons` -- CREATE TABLE `situmons` ( `id` bigint(20) UNSIGNED NOT NULL, `situmon` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `answer` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `sort` -- CREATE TABLE `sort` ( `id` bigint(20) UNSIGNED NOT NULL, `group_gid` int(10) UNSIGNED NOT NULL, `sort_time` datetime NOT NULL, `done` tinyint(1) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `uscore` -- CREATE TABLE `uscore` ( `id` bigint(20) UNSIGNED NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `uscore` int(10) UNSIGNED NOT NULL, `utime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- テーブルの構造 `users` -- CREATE TABLE `users` ( `id` int(10) UNSIGNED NOT NULL, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email_verified_at` timestamp NULL DEFAULT NULL, `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `group_gid` int(10) UNSIGNED NOT NULL, `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- テーブルのデータのダンプ `users` -- INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `group_gid`, `remember_token`, `created_at`, `updated_at`) VALUES (1, 'anuma', 'a@a', NULL, '$2y$10$Zz/ZPvk97UNDv5kPRnTtxOQuCGyQoBMAqiPK/0MLPHXi/mvzF0nx2', 1, NULL, '2020-08-03 05:49:38', '2020-08-03 05:49:38'), (2, 'anuma', 'a@b', NULL, '$2y$10$grdtqe.y5A22qozh71/mnupC/Di4GZYI36cN5eSFi4k3VWy5juaLO', 2, NULL, '2020-08-03 05:49:38', '2020-08-03 05:49:38'), (3, 'anuma', 'a@c', NULL, '$2y$10$5/zJDDt/wWSul4A2VaUXZ.7HHp6SuoBvbnTJPynNLPgN/P9F8ZPKO', 3, NULL, '2020-08-03 05:49:38', '2020-08-03 05:49:38'), (4, 'anuma', 'a@d', NULL, '$2y$10$XQjUVhnXDd.lkh7ipTAMzuIfyOs9o/eBbR8SNRvIPhGMSLR1fv1iC', 4, NULL, '2020-08-03 05:49:39', '2020-08-03 05:49:39'), (5, 'anuma', 'a@e', NULL, '$2y$10$llo0jzuuJLGMSVryyCNw4e0m/aRwBRpG93wr50b.v9HJv.V0/oA4K', 5, NULL, '2020-08-03 05:49:39', '2020-08-03 05:49:39'); -- -- ダンプしたテーブルのインデックス -- -- -- テーブルのインデックス `ac` -- ALTER TABLE `ac` ADD PRIMARY KEY (`id`), ADD KEY `ac_user_id_foreign` (`user_id`), ADD KEY `ac_question_qid_foreign` (`question_qid`); -- -- テーブルのインデックス `failed_jobs` -- ALTER TABLE `failed_jobs` ADD PRIMARY KEY (`id`); -- -- テーブルのインデックス `gachacount` -- ALTER TABLE `gachacount` ADD PRIMARY KEY (`id`), ADD KEY `gachacount_group_gid_foreign` (`group_gid`); -- -- テーブルのインデックス `groups` -- ALTER TABLE `groups` ADD PRIMARY KEY (`gid`); -- -- テーブルのインデックス `gscore` -- ALTER TABLE `gscore` ADD PRIMARY KEY (`id`), ADD KEY `gscore_group_gid_foreign` (`group_gid`); -- -- テーブルのインデックス `lv` -- ALTER TABLE `lv` ADD PRIMARY KEY (`lvid`); -- -- テーブルのインデックス `migrations` -- ALTER TABLE `migrations` ADD PRIMARY KEY (`id`); -- -- テーブルのインデックス `news` -- ALTER TABLE `news` ADD PRIMARY KEY (`id`); -- -- テーブルのインデックス `password_resets` -- ALTER TABLE `password_resets` ADD KEY `password_resets_email_index` (`email`); -- -- テーブルのインデックス `questions` -- ALTER TABLE `questions` ADD PRIMARY KEY (`qid`), ADD KEY `questions_lv_lvid_foreign` (`lv_lvid`); -- -- テーブルのインデックス `situmons` -- ALTER TABLE `situmons` ADD PRIMARY KEY (`id`), ADD KEY `situmons_user_id_foreign` (`user_id`); -- -- テーブルのインデックス `sort` -- ALTER TABLE `sort` ADD PRIMARY KEY (`id`), ADD KEY `sort_group_gid_foreign` (`group_gid`); -- -- テーブルのインデックス `uscore` -- ALTER TABLE `uscore` ADD PRIMARY KEY (`id`), ADD KEY `uscore_user_id_foreign` (`user_id`); -- -- テーブルのインデックス `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `users_email_unique` (`email`), ADD KEY `users_group_gid_foreign` (`group_gid`); -- -- ダンプしたテーブルのAUTO_INCREMENT -- -- -- テーブルのAUTO_INCREMENT `ac` -- ALTER TABLE `ac` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `failed_jobs` -- ALTER TABLE `failed_jobs` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `gachacount` -- ALTER TABLE `gachacount` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `groups` -- ALTER TABLE `groups` MODIFY `gid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; -- -- テーブルのAUTO_INCREMENT `gscore` -- ALTER TABLE `gscore` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `lv` -- ALTER TABLE `lv` MODIFY `lvid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; -- -- テーブルのAUTO_INCREMENT `migrations` -- ALTER TABLE `migrations` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15; -- -- テーブルのAUTO_INCREMENT `news` -- ALTER TABLE `news` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `questions` -- ALTER TABLE `questions` MODIFY `qid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=61; -- -- テーブルのAUTO_INCREMENT `situmons` -- ALTER TABLE `situmons` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `sort` -- ALTER TABLE `sort` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `uscore` -- ALTER TABLE `uscore` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- テーブルのAUTO_INCREMENT `users` -- ALTER TABLE `users` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; -- -- ダンプしたテーブルの制約 -- -- -- テーブルの制約 `ac` -- ALTER TABLE `ac` ADD CONSTRAINT `ac_question_qid_foreign` FOREIGN KEY (`question_qid`) REFERENCES `questions` (`qid`), ADD CONSTRAINT `ac_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); -- -- テーブルの制約 `gachacount` -- ALTER TABLE `gachacount` ADD CONSTRAINT `gachacount_group_gid_foreign` FOREIGN KEY (`group_gid`) REFERENCES `groups` (`gid`); -- -- テーブルの制約 `gscore` -- ALTER TABLE `gscore` ADD CONSTRAINT `gscore_group_gid_foreign` FOREIGN KEY (`group_gid`) REFERENCES `groups` (`gid`); -- -- テーブルの制約 `questions` -- ALTER TABLE `questions` ADD CONSTRAINT `questions_lv_lvid_foreign` FOREIGN KEY (`lv_lvid`) REFERENCES `lv` (`lvid`); -- -- テーブルの制約 `situmons` -- ALTER TABLE `situmons` ADD CONSTRAINT `situmons_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); -- -- テーブルの制約 `sort` -- ALTER TABLE `sort` ADD CONSTRAINT `sort_group_gid_foreign` FOREIGN KEY (`group_gid`) REFERENCES `groups` (`gid`); -- -- テーブルの制約 `uscore` -- ALTER TABLE `uscore` ADD CONSTRAINT `uscore_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); -- -- テーブルの制約 `users` -- ALTER TABLE `users` ADD CONSTRAINT `users_group_gid_foreign` FOREIGN KEY (`group_gid`) REFERENCES `groups` (`gid`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; ```