feat(db): add Anomalie, Notification and Historique tracking models
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
BEGIN TRY
|
||||
|
||||
BEGIN TRAN;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[anomalie] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[emprunt_id] INT NOT NULL,
|
||||
[materiel_id] INT NOT NULL,
|
||||
[utilisateur_id] INT NOT NULL,
|
||||
[traitee_par_id] INT,
|
||||
[type] NVARCHAR(1000) NOT NULL,
|
||||
[description] NVARCHAR(1000) NOT NULL,
|
||||
[statut] NVARCHAR(1000) NOT NULL,
|
||||
[detectee_automatiquement] BIT NOT NULL CONSTRAINT [anomalie_detectee_automatiquement_df] DEFAULT 1,
|
||||
[observation] NVARCHAR(1000),
|
||||
[date_detection] DATETIME2 NOT NULL,
|
||||
[date_resolution] DATETIME2,
|
||||
[created_at] DATETIME2 NOT NULL CONSTRAINT [anomalie_created_at_df] DEFAULT CURRENT_TIMESTAMP,
|
||||
[updated_at] DATETIME2 NOT NULL,
|
||||
CONSTRAINT [anomalie_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[notification] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[utilisateur_id] INT NOT NULL,
|
||||
[anomalie_id] INT,
|
||||
[titre] NVARCHAR(1000) NOT NULL,
|
||||
[message] NVARCHAR(1000) NOT NULL,
|
||||
[type] NVARCHAR(1000) NOT NULL,
|
||||
[lu] BIT NOT NULL CONSTRAINT [notification_lu_df] DEFAULT 0,
|
||||
[date_creation] DATETIME2 NOT NULL CONSTRAINT [notification_date_creation_df] DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT [notification_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE [dbo].[historique] (
|
||||
[id] INT NOT NULL IDENTITY(1,1),
|
||||
[utilisateur_id] INT NOT NULL,
|
||||
[emprunt_id] INT,
|
||||
[materiel_id] INT,
|
||||
[campus_id] INT,
|
||||
[salle_pret_id] INT,
|
||||
[poste_emprunt_id] INT,
|
||||
[action] NVARCHAR(1000) NOT NULL,
|
||||
[description] NVARCHAR(1000) NOT NULL,
|
||||
[date_action] DATETIME2 NOT NULL,
|
||||
[created_at] DATETIME2 NOT NULL CONSTRAINT [historique_created_at_df] DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT [historique_pkey] PRIMARY KEY CLUSTERED ([id])
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[anomalie] ADD CONSTRAINT [anomalie_emprunt_id_fkey] FOREIGN KEY ([emprunt_id]) REFERENCES [dbo].[emprunt]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[anomalie] ADD CONSTRAINT [anomalie_materiel_id_fkey] FOREIGN KEY ([materiel_id]) REFERENCES [dbo].[materiel]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[anomalie] ADD CONSTRAINT [anomalie_utilisateur_id_fkey] FOREIGN KEY ([utilisateur_id]) REFERENCES [dbo].[utilisateur]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[anomalie] ADD CONSTRAINT [anomalie_traitee_par_id_fkey] FOREIGN KEY ([traitee_par_id]) REFERENCES [dbo].[utilisateur]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[notification] ADD CONSTRAINT [notification_utilisateur_id_fkey] FOREIGN KEY ([utilisateur_id]) REFERENCES [dbo].[utilisateur]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[notification] ADD CONSTRAINT [notification_anomalie_id_fkey] FOREIGN KEY ([anomalie_id]) REFERENCES [dbo].[anomalie]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_utilisateur_id_fkey] FOREIGN KEY ([utilisateur_id]) REFERENCES [dbo].[utilisateur]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_emprunt_id_fkey] FOREIGN KEY ([emprunt_id]) REFERENCES [dbo].[emprunt]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_materiel_id_fkey] FOREIGN KEY ([materiel_id]) REFERENCES [dbo].[materiel]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_campus_id_fkey] FOREIGN KEY ([campus_id]) REFERENCES [dbo].[campus]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_salle_pret_id_fkey] FOREIGN KEY ([salle_pret_id]) REFERENCES [dbo].[salle_pret]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE [dbo].[historique] ADD CONSTRAINT [historique_poste_emprunt_id_fkey] FOREIGN KEY ([poste_emprunt_id]) REFERENCES [dbo].[poste_emprunt]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
IF @@TRANCOUNT > 0
|
||||
BEGIN
|
||||
ROLLBACK TRAN;
|
||||
END;
|
||||
THROW
|
||||
|
||||
END CATCH
|
||||
Reference in New Issue
Block a user