This commit is contained in:
2026-04-22 10:09:37 +07:00
parent 5f3e38a3d4
commit 1408294922
8 changed files with 4072 additions and 42 deletions

View File

@@ -81,7 +81,51 @@ BEGIN
END
-- ===========================================
-- 4. CREATE AUDIT LOG TABLE
-- 4. CREATE ASSET INVENTORY TABLE
-- ===========================================
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'AssetInventory')
BEGIN
CREATE TABLE AssetInventory (
AssetId INT PRIMARY KEY IDENTITY(1,1),
AssetCode NVARCHAR(100) NOT NULL UNIQUE,
AssetName NVARCHAR(255) NOT NULL,
Model NVARCHAR(255),
SerialNumber NVARCHAR(100),
Quantity INT NOT NULL DEFAULT 0,
ImportInPeriod INT NOT NULL DEFAULT 0,
ExportInPeriod INT NOT NULL DEFAULT 0,
EndingBalance INT NOT NULL DEFAULT 0,
Unit NVARCHAR(50),
Department NVARCHAR(100),
Project NVARCHAR(150),
Location NVARCHAR(150),
Custodian NVARCHAR(100),
Borrower NVARCHAR(255),
ExportedBy NVARCHAR(100),
PurchaseDate DATE NULL,
PurchasePrice DECIMAL(18,2) NULL,
Status NVARCHAR(30) NOT NULL DEFAULT 'in_use',
Notes NVARCHAR(MAX),
CreatedBy INT NULL,
CreatedDate DATETIME DEFAULT GETDATE(),
UpdatedDate DATETIME DEFAULT GETDATE(),
FOREIGN KEY (CreatedBy) REFERENCES Users(UserId) ON DELETE SET NULL
);
PRINT 'Table AssetInventory created successfully.';
END
IF COL_LENGTH('dbo.AssetInventory', 'Borrower') IS NULL
BEGIN
ALTER TABLE AssetInventory ADD Borrower NVARCHAR(255) NULL;
END
IF COL_LENGTH('dbo.AssetInventory', 'ExportedBy') IS NULL
BEGIN
ALTER TABLE AssetInventory ADD ExportedBy NVARCHAR(100) NULL;
END
-- ===========================================
-- 5. CREATE AUDIT LOG TABLE
-- ===========================================
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'AuditLog')
BEGIN
@@ -100,7 +144,7 @@ BEGIN
END
-- ===========================================
-- 5. CREATE INDEXES
-- 6. CREATE INDEXES
-- ===========================================
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_Users_Username')
BEGIN
@@ -117,10 +161,20 @@ BEGIN
CREATE INDEX IX_Accounts_AppId ON Accounts(AppId);
END
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_AssetInventory_AssetCode')
BEGIN
CREATE INDEX IX_AssetInventory_AssetCode ON AssetInventory(AssetCode);
END
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_AssetInventory_Status')
BEGIN
CREATE INDEX IX_AssetInventory_Status ON AssetInventory(Status);
END
PRINT 'Indexes created successfully.';
-- ===========================================
-- 6. INSERT INITIAL DATA
-- 7. INSERT INITIAL DATA
-- ===========================================
-- Check if admin user exists
@@ -144,7 +198,7 @@ BEGIN
END
-- ===========================================
-- 7. DISPLAY DATABASE INFORMATION
-- 8. DISPLAY DATABASE INFORMATION
-- ===========================================
PRINT '';
PRINT '========================================';