feat(db): add SallePret and PosteEmprunt infrastructure models

This commit is contained in:
SaidSoighiri94
2026-06-04 13:53:44 +02:00
parent 8859b3a569
commit d026b75372
2 changed files with 74 additions and 0 deletions
@@ -0,0 +1,46 @@
BEGIN TRY
BEGIN TRAN;
-- CreateTable
CREATE TABLE [dbo].[salle_pret] (
[id] INT NOT NULL IDENTITY(1,1),
[nom] NVARCHAR(1000) NOT NULL,
[localisation] NVARCHAR(1000) NOT NULL,
[campus_id] INT NOT NULL,
[actif] BIT NOT NULL CONSTRAINT [salle_pret_actif_df] DEFAULT 1,
[created_at] DATETIME2 NOT NULL CONSTRAINT [salle_pret_created_at_df] DEFAULT CURRENT_TIMESTAMP,
[updated_at] DATETIME2 NOT NULL,
CONSTRAINT [salle_pret_pkey] PRIMARY KEY CLUSTERED ([id])
);
-- CreateTable
CREATE TABLE [dbo].[poste_emprunt] (
[id] INT NOT NULL IDENTITY(1,1),
[nom] NVARCHAR(1000) NOT NULL,
[identifiant_poste] NVARCHAR(1000) NOT NULL,
[salle_pret_id] INT NOT NULL,
[actif] BIT NOT NULL CONSTRAINT [poste_emprunt_actif_df] DEFAULT 1,
[created_at] DATETIME2 NOT NULL CONSTRAINT [poste_emprunt_created_at_df] DEFAULT CURRENT_TIMESTAMP,
[updated_at] DATETIME2 NOT NULL,
CONSTRAINT [poste_emprunt_pkey] PRIMARY KEY CLUSTERED ([id])
);
-- AddForeignKey
ALTER TABLE [dbo].[salle_pret] ADD CONSTRAINT [salle_pret_campus_id_fkey] FOREIGN KEY ([campus_id]) REFERENCES [dbo].[campus]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE [dbo].[poste_emprunt] ADD CONSTRAINT [poste_emprunt_salle_pret_id_fkey] FOREIGN KEY ([salle_pret_id]) REFERENCES [dbo].[salle_pret]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;
COMMIT TRAN;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRAN;
END;
THROW
END CATCH
+28
View File
@@ -16,6 +16,7 @@ model Campus {
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
utilisateurs Utilisateur[]
sallesPret SallePret[]
@@map("campus")
}
@@ -58,3 +59,30 @@ model CategorieMateriel {
@@map("categorie_materiel")
}
model SallePret {
id Int @id @default(autoincrement())
nom String
localisation String
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])
postes PosteEmprunt[]
@@map("salle_pret")
}
model PosteEmprunt {
id Int @id @default(autoincrement())
nom String
identifiantPoste String @map("identifiant_poste")
sallePretId Int @map("salle_pret_id")
actif Boolean @default(true)
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
sallePret SallePret @relation(fields: [sallePretId], references: [id])
@@map("poste_emprunt")
}