-- phpMyAdmin SQL Dump
-- version 4.7.5
-- https://www.phpmyadmin.net/
--
-- Host: db
-- Erstellungszeit: 18. Feb 2020 um 14:32
-- Server-Version: 5.7.20
-- PHP-Version: 7.1.9

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+02: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 */;

--
-- Datenbank: `inscription_tfjm`
--
CREATE DATABASE IF NOT EXISTS `inscription_tfjm` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE `inscription_tfjm`;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `documents`
--

CREATE TABLE `documents` (
                             `file_id` varchar(64) NOT NULL,
                             `user` int(11) NOT NULL,
                             `team` int(11) NOT NULL,
                             `tournament` int(11) NOT NULL,
                             `type` varchar(64) NOT NULL,
                             `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `organizers`
--

CREATE TABLE `organizers` (
                              `id` int(11) NOT NULL,
                              `organizer` int(11) NOT NULL,
                              `tournament` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `payments`
--

CREATE TABLE `payments` (
                            `id` int(11) NOT NULL,
                            `user` int(11) NOT NULL,
                            `tournament` int(11) NOT NULL,
                            `amount` tinyint(4) NOT NULL,
                            `method` enum('CREDIT_CARD','BANK_CHECK','BANK_TRANSFER','CASH','SCHOLARSHIP','NOT_PAID') COLLATE utf8_unicode_ci NOT NULL,
                            `transaction_infos` text COLLATE utf8_unicode_ci NOT NULL,
                            `validation_status` enum('NOT_READY','WAITING','VALIDATED','') COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `solutions`
--

CREATE TABLE `solutions` (
                             `file_id` varchar(64) NOT NULL,
                             `team` int(11) NOT NULL,
                             `tournament` int(11) NOT NULL,
                             `problem` int(11) NOT NULL,
                             `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `syntheses`
--

CREATE TABLE `syntheses` (
                             `file_id` varchar(64) NOT NULL,
                             `team` int(11) NOT NULL,
                             `tournament` int(11) NOT NULL,
                             `dest` varchar(64) NOT NULL,
                             `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `teams`
--

CREATE TABLE `teams` (
                         `id` int(11) NOT NULL,
                         `name` varchar(64) NOT NULL,
                         `trigram` varchar(3) NOT NULL,
                         `tournament` int(8) NOT NULL,
                         `encadrant_1` int(8) DEFAULT NULL,
                         `encadrant_2` int(8) DEFAULT NULL,
                         `encadrant_3` int(11) DEFAULT NULL,
                         `participant_1` int(8) DEFAULT NULL,
                         `participant_2` int(8) DEFAULT NULL,
                         `participant_3` int(8) DEFAULT NULL,
                         `participant_4` int(8) DEFAULT NULL,
                         `participant_5` int(8) DEFAULT NULL,
                         `participant_6` int(8) DEFAULT NULL,
                         `inscription_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                         `validation_status` enum('NOT_READY','WAITING','VALIDATED','') NOT NULL,
                         `final_selection` tinyint(1) NOT NULL DEFAULT '0',
                         `access_code` varchar(6) NOT NULL,
                         `year` int(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `tournaments`
--

CREATE TABLE `tournaments` (
                               `id` int(8) NOT NULL,
                               `name` varchar(64) NOT NULL,
                               `size` int(1) NOT NULL,
                               `place` varchar(255) NOT NULL,
                               `price` int(4) NOT NULL,
                               `description` varchar(255) NOT NULL,
                               `date_start` date NOT NULL,
                               `date_end` date NOT NULL,
                               `date_inscription` datetime NOT NULL,
                               `date_solutions` datetime NOT NULL,
                               `date_syntheses` datetime NOT NULL,
                               `final` tinyint(1) NOT NULL DEFAULT '0',
                               `year` int(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `users`
--

CREATE TABLE `users` (
                         `id` int(8) NOT NULL,
                         `email` varchar(255) NOT NULL,
                         `pwd_hash` varchar(64) NOT NULL,
                         `surname` varchar(255) NOT NULL,
                         `first_name` varchar(255) NOT NULL,
                         `birth_date` date DEFAULT NULL,
                         `gender` char(1) DEFAULT NULL,
                         `address` varchar(255) DEFAULT NULL,
                         `postal_code` int(5) DEFAULT NULL,
                         `city` varchar(255) DEFAULT NULL,
                         `country` varchar(255) DEFAULT 'France',
                         `phone_number` varchar(20) DEFAULT NULL,
                         `school` varchar(255) DEFAULT NULL,
                         `class` enum('SECONDE','PREMIERE','TERMINALE','ADULT') DEFAULT NULL,
                         `responsible_name` varchar(255) DEFAULT NULL,
                         `responsible_phone` varchar(20) DEFAULT NULL,
                         `responsible_email` varchar(255) DEFAULT NULL,
                         `description` varchar(255) DEFAULT NULL,
                         `role` enum('PARTICIPANT','ENCADRANT','ORGANIZER','ADMIN') NOT NULL,
                         `team_id` int(8) DEFAULT NULL,
                         `year` int(4) NOT NULL DEFAULT '2020',
                         `confirm_email` varchar(64) DEFAULT NULL COMMENT 'Jeton de confirmation d''e-mail',
                         `forgotten_password` varchar(64) DEFAULT NULL COMMENT 'Jeton de récupération de mot de passe',
                         `inscription_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Indizes der exportierten Tabellen
--

--
-- Indizes für die Tabelle `documents`
--
ALTER TABLE `documents`
    ADD PRIMARY KEY (`file_id`);

--
-- Indizes für die Tabelle `organizers`
--
ALTER TABLE `organizers`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `organizer` (`organizer`,`tournament`);

--
-- Indizes für die Tabelle `payments`
--
ALTER TABLE `payments`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `user` (`user`);

--
-- Indizes für die Tabelle `solutions`
--
ALTER TABLE `solutions`
    ADD PRIMARY KEY (`file_id`);

--
-- Indizes für die Tabelle `syntheses`
--
ALTER TABLE `syntheses`
    ADD PRIMARY KEY (`file_id`);

--
-- Indizes für die Tabelle `teams`
--
ALTER TABLE `teams`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `name/year` (`name`,`year`),
    ADD UNIQUE KEY `trigram/year` (`trigram`,`year`);

--
-- Indizes für die Tabelle `tournaments`
--
ALTER TABLE `tournaments`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `Name/year` (`name`,`year`) USING BTREE;

--
-- Indizes für die Tabelle `users`
--
ALTER TABLE `users`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `email/year` (`email`,`year`) USING BTREE;

--
-- AUTO_INCREMENT für exportierte Tabellen
--

--
-- AUTO_INCREMENT für Tabelle `organizers`
--
ALTER TABLE `organizers`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=40;

--
-- AUTO_INCREMENT für Tabelle `payments`
--
ALTER TABLE `payments`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=111;

--
-- AUTO_INCREMENT für Tabelle `teams`
--
ALTER TABLE `teams`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=61;

--
-- AUTO_INCREMENT für Tabelle `tournaments`
--
ALTER TABLE `tournaments`
    MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT für Tabelle `users`
--
ALTER TABLE `users`
    MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=370;
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 */;
