feat(db): add 4 reference models with initial migrations
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
BEGIN TRY
|
||||
|
||||
BEGIN TRAN;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[campus] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[nom] NVARCHAR(1000) NOT NULL,
|
||||
[adresse] NVARCHAR(1000) NOT NULL,
|
||||
[ville] NVARCHAR(1000) NOT NULL,
|
||||
[code_postal] NVARCHAR(1000) NOT NULL,
|
||||
[actif] BIT NOT NULL,
|
||||
[created_at] DATETIME2 NOT NULL,
|
||||
[updated_at] DATETIME2 NOT NULL,
|
||||
CONSTRAINT [campus_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[role] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[code] NVARCHAR(1000) NOT NULL,
|
||||
[libelle] NVARCHAR(1000) NOT NULL,
|
||||
[description] NVARCHAR(1000) NOT NULL,
|
||||
CONSTRAINT [role_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[utilisateur] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[microsoft_id] NVARCHAR(1000) NOT NULL,
|
||||
[nom] NVARCHAR(1000) NOT NULL,
|
||||
[prenom] NVARCHAR(1000) NOT NULL,
|
||||
[email] NVARCHAR(1000) NOT NULL,
|
||||
[classe] NVARCHAR(1000) NOT NULL,
|
||||
[role_id] INT NOT NULL,
|
||||
[campus_id] INT NOT NULL,
|
||||
[actif] BIT NOT NULL,
|
||||
[created_at] DATETIME2 NOT NULL,
|
||||
[updated_at] DATETIME2 NOT NULL,
|
||||
CONSTRAINT [utilisateur_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[categorie_materiel] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[nom] NVARCHAR(1000) NOT NULL,
|
||||
[description] NVARCHAR(1000) NOT NULL,
|
||||
[actif] BIT NOT NULL,
|
||||
[created_at] DATETIME2 NOT NULL,
|
||||
[updated_at] DATETIME2 NOT NULL,
|
||||
CONSTRAINT [categorie_materiel_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[utilisateur] ADD CONSTRAINT [utilisateur_role_id_fkey] FOREIGN KEY ([role_id]) REFERENCES [dbo].[role]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[utilisateur] ADD CONSTRAINT [utilisateur_campus_id_fkey] FOREIGN KEY ([campus_id]) REFERENCES [dbo].[campus]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
IF @@TRANCOUNT > 0
|
||||
BEGIN
|
||||
ROLLBACK TRAN;
|
||||
END;
|
||||
THROW
|
||||
|
||||
END CATCH
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
BEGIN TRY
|
||||
|
||||
BEGIN TRAN;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE [dbo].[campus] ADD CONSTRAINT [campus_actif_df] DEFAULT 1 FOR [actif], CONSTRAINT [campus_created_at_df] DEFAULT CURRENT_TIMESTAMP FOR [created_at];
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE [dbo].[categorie_materiel] ADD CONSTRAINT [categorie_materiel_actif_df] DEFAULT 1 FOR [actif], CONSTRAINT [categorie_materiel_created_at_df] DEFAULT CURRENT_TIMESTAMP FOR [created_at];
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE [dbo].[utilisateur] ADD CONSTRAINT [utilisateur_actif_df] DEFAULT 1 FOR [actif], CONSTRAINT [utilisateur_created_at_df] DEFAULT CURRENT_TIMESTAMP FOR [created_at];
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
IF @@TRANCOUNT > 0
|
||||
BEGIN
|
||||
ROLLBACK TRAN;
|
||||
END;
|
||||
THROW
|
||||
|
||||
END CATCH
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
BEGIN TRY
|
||||
|
||||
BEGIN TRAN;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE [dbo].[utilisateur] ALTER COLUMN [classe] NVARCHAR(1000) NULL;
|
||||
|
||||
-- CreateIndex
|
||||
ALTER TABLE [dbo].[role] ADD CONSTRAINT [role_code_key] UNIQUE NONCLUSTERED ([code]);
|
||||
|
||||
-- CreateIndex
|
||||
ALTER TABLE [dbo].[utilisateur] ADD CONSTRAINT [utilisateur_microsoft_id_key] UNIQUE NONCLUSTERED ([microsoft_id]);
|
||||
|
||||
-- CreateIndex
|
||||
ALTER TABLE [dbo].[utilisateur] ADD CONSTRAINT [utilisateur_email_key] UNIQUE NONCLUSTERED ([email]);
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
IF @@TRANCOUNT > 0
|
||||
BEGIN
|
||||
ROLLBACK TRAN;
|
||||
END;
|
||||
THROW
|
||||
|
||||
END CATCH
|
||||
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (e.g., Git)
|
||||
provider = "mssql"
|
||||
@@ -0,0 +1,60 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "sqlserver"
|
||||
}
|
||||
|
||||
model Campus {
|
||||
id Int @id @default(autoincrement())
|
||||
nom String
|
||||
adresse String
|
||||
ville String
|
||||
codePostal String @map("code_postal")
|
||||
actif Boolean @default(true)
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
utilisateurs Utilisateur[]
|
||||
|
||||
@@map("campus")
|
||||
}
|
||||
|
||||
model Role {
|
||||
id Int @id @default(autoincrement())
|
||||
code String @unique
|
||||
libelle String
|
||||
description String
|
||||
utilisateurs Utilisateur[]
|
||||
|
||||
@@map("role")
|
||||
}
|
||||
|
||||
model Utilisateur {
|
||||
id Int @id @default(autoincrement())
|
||||
microsoftId String @unique @map("microsoft_id")
|
||||
nom String
|
||||
prenom String
|
||||
email String @unique
|
||||
classe String?
|
||||
roleId Int @map("role_id")
|
||||
campusId Int @map("campus_id")
|
||||
actif Boolean @default(true)
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
campus Campus @relation(fields: [campusId], references: [id])
|
||||
role Role @relation(fields: [roleId], references: [id])
|
||||
|
||||
@@map("utilisateur")
|
||||
}
|
||||
|
||||
model CategorieMateriel {
|
||||
id Int @id @default(autoincrement())
|
||||
nom String
|
||||
description String
|
||||
actif Boolean @default(true)
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
|
||||
@@map("categorie_materiel")
|
||||
}
|
||||
Reference in New Issue
Block a user