shoc-backend/Api.SeaHavenIndustries/db.txt

1130 lines
34 KiB
Text
Raw Normal View History

2026-03-30 06:49:40 -05:00
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Contacts] Script Date: 1/21/2026 4:16:02 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Contacts](
[Id] [int] IDENTITY(1,1) NOT NULL,
[PhoneNumber] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[Title] [nvarchar](200) NULL,
[Owner] [nvarchar](200) NULL,
[FirstName] [nvarchar](100) NULL,
[MiddleName] [nvarchar](100) NULL,
[LastName] [nvarchar](100) NULL,
[ContactType] [nvarchar](100) NULL,
[Address1] [nvarchar](255) NULL,
[Address2] [nvarchar](255) NULL,
[City] [nvarchar](100) NULL,
[State] [nvarchar](100) NULL,
[Zip] [nvarchar](20) NULL,
[FacebookUrl] [nvarchar](255) NULL,
[LinkedInUrl] [nvarchar](255) NULL,
[TwitterUrl] [nvarchar](255) NULL,
[LocationId] [int] NULL,
[AccountId] [int] NULL,
CONSTRAINT [PK_Contacts] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Contacts] WITH CHECK ADD CONSTRAINT [FK_Contacts_Accounts] FOREIGN KEY([AccountId])
REFERENCES [dbo].[Accounts] ([Id])
ON DELETE SET NULL
GO
ALTER TABLE [dbo].[Contacts] CHECK CONSTRAINT [FK_Contacts_Accounts]
GO
ALTER TABLE [dbo].[Contacts] WITH CHECK ADD CONSTRAINT [FK_Contacts_Locations] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
ON DELETE SET NULL
GO
ALTER TABLE [dbo].[Contacts] CHECK CONSTRAINT [FK_Contacts_Locations]
GO
CREATE TABLE Assets (
Id INT IDENTITY(1,1) PRIMARY KEY,
AssetCode NVARCHAR(50) NOT NULL,
Name NVARCHAR(255) NOT NULL,
Description NVARCHAR(MAX) NULL,
AccountId INT NULL,
LocationId INT NULL,
IsActive BIT NOT NULL DEFAULT 1,
CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
CreatedBy INT NULL,
LastModificationTime DATETIME2 NULL,
LastModifiedBy INT NULL,
CONSTRAINT FK_Assets_Accounts
FOREIGN KEY (AccountId) REFERENCES Accounts(Id),
CONSTRAINT FK_Assets_Locations
FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);
CREATE TABLE PMSchedules (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(255) NOT NULL,
Frequency NVARCHAR(50) NOT NULL, -- Monthly / Quarterly / Yearly
StartDate DATE NOT NULL,
IsActive BIT NOT NULL DEFAULT 1,
AssetId INT NULL,
LocationId INT NULL,
CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
CreatedBy INT NULL,
LastModificationTime DATETIME2 NULL,
LastModifiedBy INT NULL,
CONSTRAINT FK_PMSchedules_Assets
FOREIGN KEY (AssetId) REFERENCES Assets(Id),
CONSTRAINT FK_PMSchedules_Locations
FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);
CREATE TABLE FollowUps (
Id INT IDENTITY(1,1) PRIMARY KEY,
Reason NVARCHAR(MAX) NOT NULL,
ScheduleDate DATETIME2 NOT NULL,
ScheduleStartTime TIME NOT NULL,
Status NVARCHAR(20) NOT NULL DEFAULT 'Open', -- Open | Completed | Cancelled
EmployeeId INT NULL,
WorkOrderId INT NULL,
AccountId INT NULL,
LocationId INT NULL,
CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
CreatedBy INT NULL,
LastModificationTime DATETIME2 NULL,
LastModifiedBy INT NULL,
CONSTRAINT FK_FollowUps_Employees
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id),
CONSTRAINT FK_FollowUps_WorkOrders
FOREIGN KEY (WorkOrderId) REFERENCES WorkOrders(Id),
CONSTRAINT FK_FollowUps_Accounts
FOREIGN KEY (AccountId) REFERENCES Accounts(Id),
CONSTRAINT FK_FollowUps_Locations
FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);
CREATE TABLE Employees (
Id INT IDENTITY(1,1) PRIMARY KEY,
-- General Details
FirstName NVARCHAR(50) NOT NULL,
MiddleName NVARCHAR(50) NULL,
LastName NVARCHAR(50) NOT NULL,
DepartmentId INT NULL,
TimeZone NVARCHAR(200) NULL,
Gender INT NULL, -- 0=Male,1=Female,2=Not specified,3=Other
DateOfBirth DATE NULL,
JobTitleId INT NULL,
EmployeeNumber NVARCHAR(50) NULL,
HireDate DATE NULL,
RegionId INT NULL,
CanChangeProviderNumber BIT NULL,
About NVARCHAR(255) NULL,
-- Login & Role (stored locally, no Identity)
PermissionGroupId INT NULL, -- LoginInfo.PermissionGroupID
UserName NVARCHAR(256) NULL, -- LoginInfo.UserName
ConfirmUserName NVARCHAR(256) NULL, -- LoginInfo.ConfirmUserName
-- Additional Details
SMSAddress NVARCHAR(270) NULL,
Website NVARCHAR(2048) NULL,
-- Social Media
FacebookUrl NVARCHAR(2048) NULL,
LinkedInUrl NVARCHAR(2048) NULL,
TwitterUrl NVARCHAR(2048) NULL,
-- Status (for list grid)
Status NVARCHAR(50) NULL, -- "Active", "Offline", "Awaiting Confirmation"
LastLogin DATETIME NULL,
-- Soft delete / audit
IsDeleted BIT NULL,
CreatedBy NVARCHAR(MAX) NULL,
CreatedDate DATETIME2 NULL,
LastModificationTime DATETIME2 NULL,
LastModifierUserId INT NULL
);
CREATE TABLE EmployeeAddresses (
Id INT IDENTITY(1,1) PRIMARY KEY,
EmployeeId INT NOT NULL,
Street NVARCHAR(250) NULL,
StreetLineTwo NVARCHAR(250) NULL,
City NVARCHAR(100) NULL,
Zip NVARCHAR(20) NULL,
CountryCode NVARCHAR(10) NULL, -- "US"
StateCode NVARCHAR(10) NULL, -- "NY", "CA", etc.
CountyId INT NULL,
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);
CREATE TABLE EmployeePhones (
Id INT IDENTITY(1,1) PRIMARY KEY,
EmployeeId INT NOT NULL,
PhoneTypeId INT NULL, -- 1=Work, 2=Home, etc.
Number NVARCHAR(25) NULL,
Extension NVARCHAR(10) NULL,
IsPrimary BIT NULL,
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);
CREATE TABLE EmployeeEmails (
Id INT IDENTITY(1,1) PRIMARY KEY,
EmployeeId INT NOT NULL,
EmailTypeId INT NULL, -- 1=Work,2=Home,3=Other
Address NVARCHAR(256) NULL,
IsPrimary BIT NULL,
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);
CREATE TABLE Departments (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(200) NOT NULL
);
CREATE TABLE JobTitles (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(200) NOT NULL
);
CREATE TABLE Regions (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(200) NOT NULL
);
CREATE TABLE PermissionGroups (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(200) NOT NULL
);
CREATE TABLE PhoneTypes (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(50) NOT NULL
);
CREATE TABLE EmailTypes (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(50) NOT NULL
);
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Accounts] Script Date: 1/21/2026 4:10:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Accounts](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](255) NULL,
[Type] [nvarchar](100) NULL,
[Importance] [int] NULL,
[TerritoryId] [int] NULL,
[OwnerEmployeeId] [int] NULL,
[PrivacySetting] [nvarchar](100) NULL,
[About] [nvarchar](max) NULL,
[Tags] [nvarchar](500) NULL,
[Phone] [nvarchar](50) NULL,
[Email] [nvarchar](150) NULL,
[IndustryId] [int] NULL,
[TimeZone] [nvarchar](100) NULL,
[Website] [nvarchar](255) NULL,
[CurrencyCode] [nvarchar](50) NULL,
[ServiceInstructions] [nvarchar](max) NULL,
[FacebookUrl] [nvarchar](255) NULL,
[LinkedInUrl] [nvarchar](255) NULL,
[TwitterUrl] [nvarchar](255) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](450) NULL,
[DeleterUserId] [nvarchar](450) NULL,
[DeletionTime] [datetime] NULL,
[CreatedDate] [datetime] NULL,
[LastModificationTime] [datetime] NULL,
[LastModifierUserId] [int] NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Accounts] ADD DEFAULT ((0)) FOR [IsDeleted]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[workOrderAttachments] Script Date: 1/21/2026 4:30:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[workOrderAttachments](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Attachments] [nvarchar](max) NULL,
[WorkorderId] [int] NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
CONSTRAINT [PK_workOrderAttachments] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[workOrderAttachments] WITH CHECK ADD CONSTRAINT [FK_workOrderAttachments_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO
ALTER TABLE [dbo].[workOrderAttachments] CHECK CONSTRAINT [FK_workOrderAttachments_workOrders_WorkorderId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[workOrderCategories] Script Date: 1/21/2026 4:31:16 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[workOrderCategories](
[Id] [int] IDENTITY(1,1) NOT NULL,
[CategoryId] [int] NULL,
[WorkorderId] [int] NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
CONSTRAINT [PK_workOrderCategories] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[workOrderCategories] WITH CHECK ADD CONSTRAINT [FK_workOrderCategories_Categories_CategoryId] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[Categories] ([Id])
GO
ALTER TABLE [dbo].[workOrderCategories] CHECK CONSTRAINT [FK_workOrderCategories_Categories_CategoryId]
GO
ALTER TABLE [dbo].[workOrderCategories] WITH CHECK ADD CONSTRAINT [FK_workOrderCategories_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO
ALTER TABLE [dbo].[workOrderCategories] CHECK CONSTRAINT [FK_workOrderCategories_workOrders_WorkorderId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[WorkOrderContacts] Script Date: 1/21/2026 4:31:56 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[WorkOrderContacts](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ContactId] [int] NULL,
[WorkorderId] [int] NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
CONSTRAINT [PK_WorkOrderContacts] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[WorkOrderContacts] WITH CHECK ADD CONSTRAINT [FK_WorkOrderContacts_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO
ALTER TABLE [dbo].[WorkOrderContacts] CHECK CONSTRAINT [FK_WorkOrderContacts_Contacts_ContactId]
GO
ALTER TABLE [dbo].[WorkOrderContacts] WITH CHECK ADD CONSTRAINT [FK_WorkOrderContacts_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO
ALTER TABLE [dbo].[WorkOrderContacts] CHECK CONSTRAINT [FK_WorkOrderContacts_workOrders_WorkorderId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[workOrders] Script Date: 1/21/2026 4:32:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[workOrders](
[Id] [int] IDENTITY(1,1) NOT NULL,
[WorkerOrderNumber] [nvarchar](max) NULL,
[WorkerOrderTitle] [nvarchar](max) NULL,
[Description] [nvarchar](max) NULL,
[PO] [nvarchar](max) NULL,
[TT] [nvarchar](max) NULL,
[SignOffAttachment] [nvarchar](max) NULL,
[AssignTo] [nvarchar](450) NULL,
[DueDate] [datetime2](7) NULL,
[Priority] [nvarchar](max) NULL,
[Status] [nvarchar](max) NULL,
[LocationId] [int] NULL,
[Attachments] [nvarchar](max) NULL,
[BeforPhotoIssue] [nvarchar](max) NULL,
[BeforPhotoAttachment] [nvarchar](max) NULL,
[AfterPhotoIssue] [nvarchar](max) NULL,
[AfterPhotoAttachment] [nvarchar](max) NULL,
[SignOffName] [nvarchar](max) NULL,
[SignOffSignature] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[istemplate] [bit] NULL,
[WorkOrderType] [varchar](50) NULL,
[AvettaTask] [varchar](max) NULL,
[AssignDate] [date] NULL,
CONSTRAINT [PK_workOrders] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[workOrders] WITH CHECK ADD CONSTRAINT [FK_workOrders_AspNetUsers_AssignTo] FOREIGN KEY([AssignTo])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[workOrders] CHECK CONSTRAINT [FK_workOrders_AspNetUsers_AssignTo]
GO
ALTER TABLE [dbo].[workOrders] WITH CHECK ADD CONSTRAINT [FK_workOrders_Locations_LocationId] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
GO
ALTER TABLE [dbo].[workOrders] CHECK CONSTRAINT [FK_workOrders_Locations_LocationId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Templates] Script Date: 1/21/2026 4:33:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Templates](
[Id] [int] IDENTITY(1,1) NOT NULL,
[WorkerOrderNumber] [nvarchar](max) NULL,
[WorkerOrderTitle] [nvarchar](max) NULL,
[Description] [nvarchar](max) NULL,
[PO] [nvarchar](max) NULL,
[TT] [nvarchar](max) NULL,
[SignOffAttachment] [nvarchar](max) NULL,
[AssignTo] [nvarchar](450) NULL,
[DueDate] [datetime2](7) NULL,
[Priority] [nvarchar](max) NULL,
[Status] [nvarchar](max) NULL,
[LocationId] [int] NULL,
[CategoryId] [int] NULL,
[Attachments] [nvarchar](max) NULL,
[BeforPhotoIssue] [nvarchar](max) NULL,
[BeforPhotoAttachment] [nvarchar](max) NULL,
[AfterPhotoIssue] [nvarchar](max) NULL,
[AfterPhotoAttachment] [nvarchar](max) NULL,
[SignOffName] [nvarchar](max) NULL,
[SignOffSignature] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[ContactId] [int] NULL,
CONSTRAINT [PK_Templates] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Templates] WITH CHECK ADD CONSTRAINT [FK_Templates_AspNetUsers_AssignTo] FOREIGN KEY([AssignTo])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_AspNetUsers_AssignTo]
GO
ALTER TABLE [dbo].[Templates] WITH CHECK ADD CONSTRAINT [FK_Templates_Categories_CategoryId] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[Categories] ([Id])
GO
ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Categories_CategoryId]
GO
ALTER TABLE [dbo].[Templates] WITH CHECK ADD CONSTRAINT [FK_Templates_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO
ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Contacts_ContactId]
GO
ALTER TABLE [dbo].[Templates] WITH CHECK ADD CONSTRAINT [FK_Templates_Locations_LocationId] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
GO
ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Locations_LocationId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Regions] Script Date: 1/21/2026 4:34:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Regions](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[QuotesLines] Script Date: 1/21/2026 4:35:20 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[QuotesLines](
[Id] [int] IDENTITY(1,1) NOT NULL,
[LineitemNumber] [int] NULL,
[Lineitem] [decimal](18, 2) NULL,
[QuoteId] [int] NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[Descriptions] [nvarchar](max) NULL,
CONSTRAINT [PK_QuotesLines] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[QuotesLines] WITH CHECK ADD CONSTRAINT [FK_QuotesLines_Quotes_QuoteId] FOREIGN KEY([QuoteId])
REFERENCES [dbo].[Quotes] ([Id])
GO
ALTER TABLE [dbo].[QuotesLines] CHECK CONSTRAINT [FK_QuotesLines_Quotes_QuoteId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Quotes] Script Date: 1/21/2026 4:35:57 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Quotes](
[Id] [int] IDENTITY(1,1) NOT NULL,
[QuotId] [nvarchar](max) NULL,
[Date] [datetime2](7) NULL,
[BillingAddress] [nvarchar](max) NULL,
[TT] [nvarchar](max) NULL,
[PO] [nvarchar](max) NULL,
[ContactId] [int] NULL,
[WorkorderId] [int] NULL,
[ProjectName] [nvarchar](max) NULL,
[SiteName] [nvarchar](max) NULL,
[SiteId] [nvarchar](max) NULL,
[ShippingAddress] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[Status] [nvarchar](max) NULL,
CONSTRAINT [PK_Quotes] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Quotes] WITH CHECK ADD CONSTRAINT [FK_Quotes_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO
ALTER TABLE [dbo].[Quotes] CHECK CONSTRAINT [FK_Quotes_Contacts_ContactId]
GO
ALTER TABLE [dbo].[Quotes] WITH CHECK ADD CONSTRAINT [FK_Quotes_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO
ALTER TABLE [dbo].[Quotes] CHECK CONSTRAINT [FK_Quotes_workOrders_WorkorderId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[PermissionGroups] Script Date: 1/21/2026 4:36:37 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[PermissionGroups](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Locations] Script Date: 1/21/2026 4:37:09 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Locations](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Title] [nvarchar](max) NULL,
[Name] [nvarchar](max) NULL,
[Latitude] [nvarchar](max) NULL,
[Longitude] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
CONSTRAINT [PK_Locations] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[JobTitles] Script Date: 1/21/2026 4:39:15 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[JobTitles](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[ForgetPasswordCodes] Script Date: 1/21/2026 4:41:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ForgetPasswordCodes](
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserId] [nvarchar](max) NOT NULL,
[Email] [nvarchar](max) NOT NULL,
[Code] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_ForgetPasswordCodes] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Categories] Script Date: 1/21/2026 4:42:50 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Categories](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Comments] Script Date: 1/21/2026 4:44:45 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Comments](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Commenttext] [nvarchar](max) NULL,
[WorkerOrderId] [int] NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](max) NULL,
[DeleterUserId] [nvarchar](max) NULL,
[DeletionTime] [datetime2](7) NULL,
[CreatedDate] [datetime2](7) NULL,
[LastModificationTime] [datetime2](7) NULL,
[LastModifierUserId] [int] NULL,
[UserId] [nvarchar](450) NULL,
[Documents] [nvarchar](max) NULL,
CONSTRAINT [PK_Comments] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_Comments_AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_Comments_workOrders_WorkerOrderId] FOREIGN KEY([WorkerOrderId])
REFERENCES [dbo].[workOrders] ([Id])
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_workOrders_WorkerOrderId]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[ContactDetails] Script Date: 1/21/2026 4:45:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ContactDetails](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ContactId] [int] NOT NULL,
[Gender] [nvarchar](50) NULL,
[DateOfBirth] [datetime] NULL,
[Territory] [nvarchar](100) NULL,
[PrivacySetting] [nvarchar](100) NULL,
[About] [nvarchar](max) NULL,
[Tags] [nvarchar](500) NULL,
[FacebookUrl] [nvarchar](255) NULL,
[LinkedInUrl] [nvarchar](255) NULL,
[TwitterUrl] [nvarchar](255) NULL,
[IsDeleted] [bit] NULL,
[createdby] [nvarchar](450) NULL,
[DeleterUserId] [nvarchar](450) NULL,
[DeletionTime] [datetime] NULL,
[CreatedDate] [datetime] NULL,
[LastModificationTime] [datetime] NULL,
[LastModifierUserId] [int] NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[ContactDetails] ADD DEFAULT ((0)) FOR [IsDeleted]
GO
ALTER TABLE [dbo].[ContactDetails] WITH CHECK ADD CONSTRAINT [FK_ContactDetails_Contacts] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ContactDetails] CHECK CONSTRAINT [FK_ContactDetails_Contacts]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[Departments] Script Date: 1/21/2026 4:45:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Departments](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO
/****** Object: Table [dbo].[EmailTypes] Script Date: 1/21/2026 4:46:25 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[EmailTypes](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
2026-04-24 12:12:16 -05:00
-- ==================================================================
-- DATABASE CHANGES APPLIED ON 2026-04-22
-- Migration: Calendar Module + Missing Column Fixes
-- Applied by: AI Agent
-- ==================================================================
2026-03-30 06:49:40 -05:00
2026-04-24 12:12:16 -05:00
-- ==================================================================
-- 1. EVENTS TABLE (Calendar Module)
-- Migration: 20260422021353_AddEventsTable
-- ==================================================================
USE [db_a7141e_seahavenindustry]
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Events]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Events](
[Id] [int] IDENTITY(1,1) NOT NULL,
-- Basic Event Information
[Title] [nvarchar](100) NOT NULL,
[Description] [nvarchar](max) NULL,
[Location] [nvarchar](150) NULL,
-- Related Record (Link to Accounts, Contacts, Work Orders, etc.)
[RecordID] [int] NULL,
[RecordName] [nvarchar](max) NULL,
[RecordTargetType] [nvarchar](max) NULL,
-- Reminder & Display Settings
[ReminderMinutes] [int] NOT NULL CONSTRAINT [DF_Events_ReminderMinutes] DEFAULT ((15)),
[EventColor] [nvarchar](20) NOT NULL CONSTRAINT [DF_Events_EventColor] DEFAULT (N'primary'),
-- Schedule Information
[StartDate] [datetime2](7) NOT NULL,
[StartTime] [nvarchar](10) NULL,
[EndDate] [datetime2](7) NOT NULL,
[EndTime] [nvarchar](10) NULL,
[AllDay] [bit] NOT NULL CONSTRAINT [DF_Events_AllDay] DEFAULT ((0)),
-- Audit Fields (from FullAuditEntity)
[IsDeleted] [bit] NOT NULL CONSTRAINT [DF_Events_IsDeleted] DEFAULT ((0)),
[DeletionTime] [datetime2](7) NULL,
[createdby] [nvarchar](max) NULL,
[CreatedDate] [datetime2](7) NULL,
[lastmodifiedby] [nvarchar](max) NULL,
[LastModificationTime] [datetime2](7) NULL,
CONSTRAINT [PK_Events] PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
-- Create Index on StartDate for faster calendar queries
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_Events_StartDate' AND object_id = OBJECT_ID('[dbo].[Events]'))
BEGIN
CREATE NONCLUSTERED INDEX [IX_Events_StartDate] ON [dbo].[Events]
(
[StartDate] ASC
)
WHERE ([IsDeleted] = 0)
END
GO
-- Create Index on IsDeleted for soft delete queries
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_Events_IsDeleted' AND object_id = OBJECT_ID('[dbo].[Events]'))
BEGIN
CREATE NONCLUSTERED INDEX [IX_Events_IsDeleted] ON [dbo].[Events]
(
[IsDeleted] ASC
)
END
GO
-- ==================================================================
-- 2. WORKORDERS TABLE - MISSING COLUMNS
-- Migrations: 20260416212330, 20260416224015, 20260417142453
-- ==================================================================
-- Migration: 20260416224015_AddInternalWONumber
ALTER TABLE [dbo].[WorkOrders]
ADD [InternalWONumber] [nvarchar](max) NULL
GO
-- Migration: 20260416212330_AddExternalSyncFields
ALTER TABLE [dbo].[WorkOrders]
ADD [ExternalWorkOrderId] [nvarchar](max) NULL,
[Source] [nvarchar](max) NULL
GO
-- Migration: 20260417142453_AddDropdownOptionsAndWOFields
ALTER TABLE [dbo].[WorkOrders]
ADD [Problem] [nvarchar](max) NULL,
[Trade] [nvarchar](max) NULL,
[SubTrade] [nvarchar](max) NULL,
[VendorNTE] [decimal](18, 2) NULL,
[ScheduledDate] [datetime2](7) NULL,
[CompletedDate] [datetime2](7) NULL
GO
-- ==================================================================
-- 3. COMMENTS TABLE - MISSING COLUMNS
-- Migrations: 20260416220656, 20260417171152
-- ==================================================================
-- Migration: 20260416220656_AddCommentTypeAndAuditLog
ALTER TABLE [dbo].[Comments]
ADD [CommentType] [nvarchar](max) NULL,
[Commenter] [nvarchar](max) NULL,
[RecordType] [nvarchar](max) NULL
GO
-- Migration: 20260417171152_AddDispatchNumberAndCommentDispatchId
ALTER TABLE [dbo].[Comments]
ADD [DispatchId] [int] NULL
GO
-- ==================================================================
-- 4. LOCATIONS TABLE - MISSING COLUMNS
-- Migration: 20260416210833_AddLocationFields
-- ==================================================================
ALTER TABLE [dbo].[Locations]
ADD [Address1] [nvarchar](max) NULL,
[Address2] [nvarchar](max) NULL,
[City] [nvarchar](max) NULL,
[State] [nvarchar](max) NULL,
[Zip] [nvarchar](max) NULL,
[PhoneNumber] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
[Status] [nvarchar](max) NULL
GO
-- ==================================================================
-- 5. MIGRATION HISTORY RECORDS
-- Marked these migrations as applied to sync with code
-- ==================================================================
INSERT INTO [dbo].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES
(N'20260416204109_SyncContactsAndModels', N'8.0.8'),
(N'20260416210833_AddLocationFields', N'8.0.8'),
(N'20260416212330_AddExternalSyncFields', N'8.0.8'),
(N'20260416220656_AddCommentTypeAndAuditLog', N'8.0.8'),
(N'20260416224015_AddInternalWONumber', N'8.0.8'),
(N'20260417142453_AddDropdownOptionsAndWOFields', N'8.0.8'),
(N'20260417153405_AddVendorAndDispatch', N'8.0.8'),
(N'20260417154641_AddDispatchScheduledDate', N'8.0.8'),
(N'20260417171152_AddDispatchNumberAndCommentDispatchId', N'8.0.8'),
(N'20260417182910_AddTaskListTemplates', N'8.0.8'),
(N'20260417190743_MultiWODispatch', N'8.0.8'),
(N'20260417192012_AddDispatchChecklist', N'8.0.8'),
(N'20260417194438_AddDispatchSignoffs', N'8.0.8'),
(N'20260417195316_AddDispatchVerification', N'8.0.8'),
(N'20260420151445_AddVendorAccessToken', N'8.0.8'),
(N'20260420164708_AddDispatchUpliftRequest', N'8.0.8'),
(N'20260422021353_AddEventsTable', N'8.0.8')
GO
-- ==================================================================
-- SUMMARY OF CHANGES (2026-04-22)
-- ==================================================================
-- Tables Created (11):
-- 1. Events (Calendar/Events module)
-- 2. WorkOrderAuditLogs (Audit trail for work order changes)
-- 3. DropdownOptions (Dynamic dropdown values)
-- 4. Vendors (Vendor management)
-- 5. Dispatches (Vendor dispatch workflow)
-- 6. TaskListTemplates (Reusable task templates)
-- 7. TaskListTemplateItems (Template task items)
-- 8. DispatchWorkOrders (Many-to-many: Dispatch <-> WorkOrders)
-- 9. DispatchChecklistItems (Dispatch checklist)
-- 10. DispatchSignoffs (Customer & Vendor signatures)
-- 11. DispatchUpliftRequests (NTE increase requests)
--
-- Columns Added to WorkOrders (9):
-- - InternalWONumber, ExternalWorkOrderId, Source
-- - Problem, Trade, SubTrade
-- - VendorNTE, ScheduledDate, CompletedDate
--
-- Columns Added to Comments (4):
-- - CommentType, Commenter, RecordType, DispatchId
--
-- Columns Added to Locations (8):
-- - Address1, Address2, City, State, Zip
-- - PhoneNumber, Email, Status
--
-- Columns Added to Dispatches (7):
-- - ScheduledDate, DispatchNumber, CompletedDate
-- - VerifiedBy, VerifiedAt, AcceptToken, AcknowledgedAt
--
-- Columns Added to Vendors (1):
-- - AccessToken
--
-- Migrations Applied: 17
-- From: 20260416204109_SyncContactsAndModels
-- To: 20260422021353_AddEventsTable
--
-- Database Status: UP TO DATE ✓
-- ==================================================================
2026-03-30 06:49:40 -05:00