124 lines
4.1 KiB
SQL
124 lines
4.1 KiB
SQL
CREATE TABLE `capex_lignes` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`etablissementCode` varchar(50) NOT NULL,
|
|
`cle` varchar(100) NOT NULL,
|
|
`montant` decimal(12,2),
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `capex_lignes_id` PRIMARY KEY(`id`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `etablissements` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`code` varchar(50) NOT NULL,
|
|
`nom` varchar(255) NOT NULL,
|
|
`groupe` varchar(100),
|
|
`ville` varchar(100),
|
|
`actif` boolean NOT NULL DEFAULT true,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `etablissements_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `etablissements_code_unique` UNIQUE(`code`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `inventaire_meta` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`filename` varchar(255),
|
|
`dateImport` timestamp NOT NULL DEFAULT (now()),
|
|
`nbEtablissements` int DEFAULT 0,
|
|
`nbFixes` int DEFAULT 0,
|
|
`nbPortables` int DEFAULT 0,
|
|
CONSTRAINT `inventaire_meta_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `inventaire_meta_annee_unique` UNIQUE(`annee`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `inventaire_postes` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`etablissementCode` varchar(50) NOT NULL,
|
|
`libelle` varchar(255),
|
|
`typePoste` enum('fixe','portable') NOT NULL,
|
|
`dateRef` varchar(20),
|
|
`ageAns` decimal(5,2),
|
|
`modele` varchar(255),
|
|
`fabricant` varchar(100),
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
CONSTRAINT `inventaire_postes_id` PRIMARY KEY(`id`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `opex_montants_etab` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`etablissementCode` varchar(50) NOT NULL,
|
|
`libellePoste` varchar(255) NOT NULL,
|
|
`montant` decimal(12,2),
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `opex_montants_etab_id` PRIMARY KEY(`id`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `opex_postes` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`colIdx` int NOT NULL,
|
|
`libelle` varchar(255) NOT NULL,
|
|
`libelleCourt` varchar(100),
|
|
`libelleDetail` varchar(255),
|
|
`fournisseur` varchar(255),
|
|
`categorie` varchar(100),
|
|
`type` varchar(100),
|
|
`facturation` varchar(100),
|
|
`modeVentilation` varchar(50) DEFAULT 'Prorata C 6',
|
|
`compte` varchar(50),
|
|
`detail` text,
|
|
`budgetN1` decimal(12,2),
|
|
`montant` decimal(12,2),
|
|
`isCustom` boolean DEFAULT false,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `opex_postes_id` PRIMARY KEY(`id`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `opex_validated` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`annee` int NOT NULL,
|
|
`validatedAt` timestamp NOT NULL DEFAULT (now()),
|
|
`validatedBy` int,
|
|
CONSTRAINT `opex_validated_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `opex_validated_annee_unique` UNIQUE(`annee`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `parametres_app` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`cle` varchar(100) NOT NULL,
|
|
`valeur` text,
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `parametres_app_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `parametres_app_cle_unique` UNIQUE(`cle`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `user_etablissements` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`userId` int NOT NULL,
|
|
`etablissementCode` varchar(50) NOT NULL,
|
|
CONSTRAINT `user_etablissements_id` PRIMARY KEY(`id`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `users` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`login` varchar(255) NOT NULL,
|
|
`email` varchar(320),
|
|
`passwordHash` varchar(255) NOT NULL,
|
|
`firstName` varchar(100),
|
|
`lastName` varchar(100),
|
|
`role` enum('admin','standard','readonly') NOT NULL DEFAULT 'standard',
|
|
`isActive` boolean NOT NULL DEFAULT true,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
`lastSignedIn` timestamp,
|
|
CONSTRAINT `users_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `users_login_unique` UNIQUE(`login`)
|
|
);
|