###### 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 */;
```