55 lines
2.2 KiB
SQL
55 lines
2.2 KiB
SQL
CREATE TABLE `apprenants` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`nom` varchar(255) NOT NULL,
|
|
`prenom` varchar(255) NOT NULL,
|
|
`email` varchar(320) NOT NULL,
|
|
`codeEtablissement` varchar(50) NOT NULL,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `apprenants_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `apprenants_email_unique` UNIQUE(`email`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `formations` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`nom` varchar(255) NOT NULL,
|
|
`description` text,
|
|
`lienUnique` varchar(100) NOT NULL,
|
|
`actif` boolean NOT NULL DEFAULT true,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `formations_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `formations_lienUnique_unique` UNIQUE(`lienUnique`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `inscriptions` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`apprenantId` int NOT NULL,
|
|
`sessionId` int NOT NULL,
|
|
`statut` enum('confirmee','liste_attente','annulee') NOT NULL DEFAULT 'confirmee',
|
|
`dateInscription` timestamp NOT NULL DEFAULT (now()),
|
|
`invitationEnvoyee` boolean NOT NULL DEFAULT false,
|
|
`emailConfirmationEnvoye` boolean NOT NULL DEFAULT false,
|
|
`emailTeaserEnvoye` boolean NOT NULL DEFAULT false,
|
|
`emailRappelEnvoye` boolean NOT NULL DEFAULT false,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `inscriptions_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `inscriptions_apprenantId_sessionId_unique` UNIQUE(`apprenantId`,`sessionId`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `sessions` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`formationId` int NOT NULL,
|
|
`nom` varchar(255) NOT NULL,
|
|
`dateDebut` datetime NOT NULL,
|
|
`dateFin` datetime NOT NULL,
|
|
`lieu` varchar(500) NOT NULL,
|
|
`capaciteMax` int NOT NULL DEFAULT 12,
|
|
`dateBlocage` datetime NOT NULL,
|
|
`statut` enum('ouverte','bloquee','terminee') NOT NULL DEFAULT 'ouverte',
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `sessions_id` PRIMARY KEY(`id`)
|
|
);
|