Files
Disco/Disco.Data/Migrations/201204250418485_DBv0.cs
T
2013-02-28 17:15:46 +11:00

605 lines
31 KiB
C#

namespace Disco.Data.Migrations
{
using System.Data.Entity.Migrations;
public partial class DBv0 : DbMigration
{
public override void Up()
{
CreateTable(
"Configuration",
c => new
{
Scope = c.String(nullable: false, maxLength: 80),
Key = c.String(nullable: false, maxLength: 80),
Value = c.String(),
})
.PrimaryKey(t => new { t.Scope, t.Key });
CreateTable(
"DocumentTemplates",
c => new
{
Id = c.String(nullable: false, maxLength: 30),
Description = c.String(nullable: false, maxLength: 250),
Scope = c.String(nullable: false, maxLength: 6),
FilterExpression = c.String(maxLength: 250),
})
.PrimaryKey(t => t.Id);
CreateTable(
"JobSubTypes",
c => new
{
Id = c.String(nullable: false, maxLength: 20),
JobTypeId = c.String(nullable: false, maxLength: 5),
Description = c.String(nullable: false, maxLength: 100),
})
.PrimaryKey(t => new { t.Id, t.JobTypeId })
.ForeignKey("JobTypes", t => t.JobTypeId)
.Index(t => t.JobTypeId);
CreateTable(
"DeviceComponents",
c => new
{
Id = c.Int(nullable: false, identity: true),
DeviceModelId = c.Int(),
Description = c.String(maxLength: 100),
Cost = c.Decimal(nullable: false, precision: 18, scale: 2),
})
.PrimaryKey(t => t.Id)
.ForeignKey("DeviceModels", t => t.DeviceModelId)
.Index(t => t.DeviceModelId);
CreateTable(
"DeviceModels",
c => new
{
Id = c.Int(nullable: false, identity: true),
Description = c.String(maxLength: 500),
Manufacturer = c.String(maxLength: 200),
Model = c.String(maxLength: 200),
ModelType = c.String(maxLength: 40),
Image = c.Binary(),
DefaultPurchaseDate = c.DateTime(),
DeviceCost = c.Decimal(precision: 18, scale: 2),
DefaultWarrantyProvider = c.String(maxLength: 40),
})
.PrimaryKey(t => t.Id);
CreateTable(
"Devices",
c => new
{
SerialNumber = c.String(nullable: false, maxLength: 40),
AssetNumber = c.String(maxLength: 40),
Location = c.String(maxLength: 250),
DeviceModelId = c.Int(),
DeviceProfileId = c.Int(nullable: false),
DeviceBatchId = c.Int(),
ComputerName = c.String(maxLength: 24),
AssignedUserId = c.String(maxLength: 50),
LastNetworkLogonDate = c.DateTime(),
CertificateStoreReference = c.String(maxLength: 24),
AllowUnauthenticatedEnrol = c.Boolean(nullable: false),
Active = c.Boolean(nullable: false),
CreatedDate = c.DateTime(nullable: false),
EnrolledDate = c.DateTime(),
LastEnrolDate = c.DateTime(),
DecommissionedDate = c.DateTime(),
})
.PrimaryKey(t => t.SerialNumber)
.ForeignKey("DeviceModels", t => t.DeviceModelId)
.ForeignKey("DeviceProfiles", t => t.DeviceProfileId)
.ForeignKey("DeviceBatches", t => t.DeviceBatchId)
.ForeignKey("Users", t => t.AssignedUserId)
.Index(t => t.DeviceModelId)
.Index(t => t.DeviceProfileId)
.Index(t => t.DeviceBatchId)
.Index(t => t.AssignedUserId);
CreateTable(
"DeviceProfiles",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(nullable: false, maxLength: 100),
ShortName = c.String(nullable: false, maxLength: 10),
Description = c.String(maxLength: 500),
DefaultOrganisationAddress = c.Int(),
})
.PrimaryKey(t => t.Id);
CreateTable(
"DeviceBatches",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(maxLength: 500),
PurchaseDate = c.DateTime(nullable: false),
Supplier = c.String(maxLength: 200),
PurchaseDetails = c.String(maxLength: 500),
UnitCost = c.Decimal(precision: 18, scale: 2),
UnitQuantity = c.Int(),
DefaultDeviceModelId = c.Int(),
WarrantyValidUntil = c.DateTime(),
WarrantyDetails = c.String(),
InsuredDate = c.DateTime(),
InsuranceSupplier = c.String(maxLength: 200),
InsuredUntil = c.DateTime(),
InsuranceDetails = c.String(),
Comments = c.String(),
})
.PrimaryKey(t => t.Id)
.ForeignKey("DeviceModels", t => t.DefaultDeviceModelId)
.Index(t => t.DefaultDeviceModelId);
CreateTable(
"Users",
c => new
{
Id = c.String(nullable: false, maxLength: 50),
DisplayName = c.String(maxLength: 200),
Surname = c.String(maxLength: 200),
GivenName = c.String(maxLength: 200),
Type = c.String(maxLength: 8),
PhoneNumber = c.String(maxLength: 100),
EmailAddress = c.String(maxLength: 150),
})
.PrimaryKey(t => t.Id);
CreateTable(
"UserDetails",
c => new
{
UserId = c.String(nullable: false, maxLength: 50),
Scope = c.String(nullable: false, maxLength: 100),
Key = c.String(nullable: false, maxLength: 100),
Value = c.String(),
})
.PrimaryKey(t => new { t.UserId, t.Scope, t.Key })
.ForeignKey("Users", t => t.UserId)
.Index(t => t.UserId);
CreateTable(
"UserAttachments",
c => new
{
Id = c.Int(nullable: false, identity: true),
UserId = c.String(maxLength: 50),
TechUserId = c.String(nullable: false, maxLength: 50),
Filename = c.String(nullable: false, maxLength: 500),
MimeType = c.String(nullable: false, maxLength: 500),
Timestamp = c.DateTime(nullable: false),
Comments = c.String(nullable: false, maxLength: 500),
DocumentTemplateId = c.String(maxLength: 30),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Users", t => t.UserId)
.ForeignKey("Users", t => t.TechUserId)
.ForeignKey("DocumentTemplates", t => t.DocumentTemplateId)
.Index(t => t.UserId)
.Index(t => t.TechUserId)
.Index(t => t.DocumentTemplateId);
CreateTable(
"DeviceUserAssignments",
c => new
{
DeviceSerialNumber = c.String(nullable: false, maxLength: 40),
AssignedDate = c.DateTime(nullable: false),
AssignedUserId = c.String(maxLength: 50),
UnassignedDate = c.DateTime(),
})
.PrimaryKey(t => new { t.DeviceSerialNumber, t.AssignedDate })
.ForeignKey("Users", t => t.AssignedUserId)
.ForeignKey("Devices", t => t.DeviceSerialNumber)
.Index(t => t.AssignedUserId)
.Index(t => t.DeviceSerialNumber);
CreateTable(
"Jobs",
c => new
{
Id = c.Int(nullable: false, identity: true),
JobTypeId = c.String(nullable: false, maxLength: 5),
DeviceSerialNumber = c.String(maxLength: 40),
UserId = c.String(maxLength: 50),
OpenedTechUserId = c.String(nullable: false, maxLength: 50),
OpenedDate = c.DateTime(nullable: false),
ExpectedClosedDate = c.DateTime(),
ClosedTechUserId = c.String(maxLength: 50),
ClosedDate = c.DateTime(),
DeviceHeld = c.DateTime(),
DeviceHeldTechUserId = c.String(maxLength: 50),
DeviceHeldLocation = c.String(maxLength: 100),
DeviceReadyForReturn = c.DateTime(),
DeviceReadyForReturnTechUserId = c.String(maxLength: 50),
DeviceReturnedDate = c.DateTime(),
DeviceReturnedTechUserId = c.String(maxLength: 50),
WaitingForUserAction = c.DateTime(),
})
.PrimaryKey(t => t.Id)
.ForeignKey("JobTypes", t => t.JobTypeId)
.ForeignKey("Users", t => t.OpenedTechUserId)
.ForeignKey("Users", t => t.ClosedTechUserId)
.ForeignKey("Users", t => t.DeviceHeldTechUserId)
.ForeignKey("Users", t => t.DeviceReadyForReturnTechUserId)
.ForeignKey("Users", t => t.DeviceReturnedTechUserId)
.ForeignKey("Users", t => t.UserId)
.ForeignKey("Devices", t => t.DeviceSerialNumber)
.Index(t => t.JobTypeId)
.Index(t => t.OpenedTechUserId)
.Index(t => t.ClosedTechUserId)
.Index(t => t.DeviceHeldTechUserId)
.Index(t => t.DeviceReadyForReturnTechUserId)
.Index(t => t.DeviceReturnedTechUserId)
.Index(t => t.UserId)
.Index(t => t.DeviceSerialNumber);
CreateTable(
"JobTypes",
c => new
{
Id = c.String(nullable: false, maxLength: 5),
Description = c.String(maxLength: 100),
})
.PrimaryKey(t => t.Id);
CreateTable(
"JobAttachments",
c => new
{
Id = c.Int(nullable: false, identity: true),
JobId = c.Int(nullable: false),
TechUserId = c.String(nullable: false, maxLength: 50),
Filename = c.String(nullable: false, maxLength: 500),
MimeType = c.String(nullable: false, maxLength: 500),
Timestamp = c.DateTime(nullable: false),
Comments = c.String(nullable: false, maxLength: 500),
DocumentTemplateId = c.String(maxLength: 30),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Jobs", t => t.JobId)
.ForeignKey("Users", t => t.TechUserId)
.ForeignKey("DocumentTemplates", t => t.DocumentTemplateId)
.Index(t => t.JobId)
.Index(t => t.TechUserId)
.Index(t => t.DocumentTemplateId);
CreateTable(
"JobComponents",
c => new
{
Id = c.Int(nullable: false, identity: true),
JobId = c.Int(nullable: false),
TechUserId = c.String(nullable: false, maxLength: 50),
Description = c.String(maxLength: 500),
Cost = c.Decimal(nullable: false, precision: 18, scale: 2),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Jobs", t => t.JobId)
.ForeignKey("Users", t => t.TechUserId)
.Index(t => t.JobId)
.Index(t => t.TechUserId);
CreateTable(
"JobLogs",
c => new
{
Id = c.Int(nullable: false, identity: true),
JobId = c.Int(nullable: false),
TechUserId = c.String(nullable: false, maxLength: 50),
Timestamp = c.DateTime(nullable: false),
Comments = c.String(nullable: false),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Jobs", t => t.JobId)
.ForeignKey("Users", t => t.TechUserId)
.Index(t => t.JobId)
.Index(t => t.TechUserId);
CreateTable(
"JobMetaInsurances",
c => new
{
JobId = c.Int(nullable: false),
LossOrDamageDate = c.DateTime(),
EventLocation = c.String(maxLength: 200),
Description = c.String(),
ThirdPartyCaused = c.Boolean(nullable: false),
ThirdPartyCausedName = c.String(maxLength: 200),
ThirdPartyCausedWhy = c.String(maxLength: 600),
WitnessesNamesAddresses = c.String(maxLength: 1200),
BurglaryTheftMethodOfEntry = c.String(maxLength: 200),
PropertyLastSeenDate = c.DateTime(),
PoliceNotified = c.Boolean(nullable: false),
PoliceNotifiedStation = c.String(maxLength: 200),
PoliceNotifiedDate = c.DateTime(),
PoliceNotifiedCrimeReportNo = c.String(maxLength: 400),
RecoverReduceAction = c.String(maxLength: 800),
OtherInterestedParties = c.String(maxLength: 500),
DateOfPurchase = c.DateTime(),
ClaimFormSentDate = c.DateTime(),
ClaimFormSentUserId = c.String(maxLength: 50),
})
.PrimaryKey(t => t.JobId)
.ForeignKey("Jobs", t => t.JobId)
.ForeignKey("Users", t => t.ClaimFormSentUserId)
.Index(t => t.JobId)
.Index(t => t.ClaimFormSentUserId);
CreateTable(
"JobMetaWarranties",
c => new
{
JobId = c.Int(nullable: false),
ExternalName = c.String(maxLength: 100),
ExternalLoggedDate = c.DateTime(),
ExternalReference = c.String(maxLength: 100),
ExternalCompletedDate = c.DateTime(),
})
.PrimaryKey(t => t.JobId)
.ForeignKey("Jobs", t => t.JobId)
.Index(t => t.JobId);
CreateTable(
"JobMetaNonWarranties",
c => new
{
JobId = c.Int(nullable: false),
IsInsuranceClaim = c.Boolean(nullable: false),
AccountingChargeAddedDate = c.DateTime(),
AccountingChargeAddedUserId = c.String(maxLength: 50),
AccountingChargePaidDate = c.DateTime(),
AccountingChargePaidUserId = c.String(maxLength: 50),
PurchaseOrderRaisedDate = c.DateTime(),
PurchaseOrderRaisedUserId = c.String(maxLength: 50),
PurchaseOrderReference = c.String(maxLength: 20),
PurchaseOrderSentDate = c.DateTime(),
PurchaseOrderSentUserId = c.String(maxLength: 50),
InvoiceReceivedDate = c.DateTime(),
InvoiceReceivedUserId = c.String(maxLength: 50),
RepairerName = c.String(maxLength: 100),
RepairerLoggedDate = c.DateTime(),
RepairerReference = c.String(maxLength: 100),
RepairerCompletedDate = c.DateTime(),
})
.PrimaryKey(t => t.JobId)
.ForeignKey("Users", t => t.AccountingChargeAddedUserId)
.ForeignKey("Users", t => t.AccountingChargePaidUserId)
.ForeignKey("Users", t => t.PurchaseOrderRaisedUserId)
.ForeignKey("Users", t => t.PurchaseOrderSentUserId)
.ForeignKey("Users", t => t.InvoiceReceivedUserId)
.ForeignKey("Jobs", t => t.JobId)
.Index(t => t.AccountingChargeAddedUserId)
.Index(t => t.AccountingChargePaidUserId)
.Index(t => t.PurchaseOrderRaisedUserId)
.Index(t => t.PurchaseOrderSentUserId)
.Index(t => t.InvoiceReceivedUserId)
.Index(t => t.JobId);
CreateTable(
"DeviceDetails",
c => new
{
DeviceSerialNumber = c.String(nullable: false, maxLength: 40),
Scope = c.String(nullable: false, maxLength: 100),
Key = c.String(nullable: false, maxLength: 100),
Value = c.String(),
})
.PrimaryKey(t => new { t.DeviceSerialNumber, t.Scope, t.Key })
.ForeignKey("Devices", t => t.DeviceSerialNumber)
.Index(t => t.DeviceSerialNumber);
CreateTable(
"DeviceAttachments",
c => new
{
Id = c.Int(nullable: false, identity: true),
DeviceSerialNumber = c.String(maxLength: 40),
TechUserId = c.String(nullable: false, maxLength: 50),
Filename = c.String(nullable: false, maxLength: 500),
MimeType = c.String(nullable: false, maxLength: 500),
Timestamp = c.DateTime(nullable: false),
Comments = c.String(nullable: false, maxLength: 500),
DocumentTemplateId = c.String(maxLength: 30),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Devices", t => t.DeviceSerialNumber)
.ForeignKey("Users", t => t.TechUserId)
.ForeignKey("DocumentTemplates", t => t.DocumentTemplateId)
.Index(t => t.DeviceSerialNumber)
.Index(t => t.TechUserId)
.Index(t => t.DocumentTemplateId);
CreateTable(
"WirelessCertificates",
c => new
{
Id = c.Int(nullable: false, identity: true),
Index = c.Int(nullable: false),
Name = c.String(maxLength: 28),
Content = c.Binary(),
Enabled = c.Boolean(nullable: false),
ExpirationDate = c.DateTime(),
AllocatedDate = c.DateTime(),
DeviceSerialNumber = c.String(maxLength: 40),
})
.PrimaryKey(t => t.Id)
.ForeignKey("Devices", t => t.DeviceSerialNumber)
.Index(t => t.DeviceSerialNumber);
CreateTable(
"Jobs_JobSubTypes",
c => new
{
Job_Id = c.Int(nullable: false),
JobSubType_Id = c.String(nullable: false, maxLength: 20),
JobSubType_JobTypeId = c.String(nullable: false, maxLength: 5),
})
.PrimaryKey(t => new { t.Job_Id, t.JobSubType_Id, t.JobSubType_JobTypeId })
.ForeignKey("Jobs", t => t.Job_Id, cascadeDelete: true)
.ForeignKey("JobSubTypes", t => new { t.JobSubType_Id, t.JobSubType_JobTypeId }, cascadeDelete: true)
.Index(t => t.Job_Id)
.Index(t => new { t.JobSubType_Id, t.JobSubType_JobTypeId });
CreateTable(
"DeviceComponents_JobSubTypes",
c => new
{
DeviceComponent_Id = c.Int(nullable: false),
JobSubType_Id = c.String(nullable: false, maxLength: 20),
JobSubType_JobTypeId = c.String(nullable: false, maxLength: 5),
})
.PrimaryKey(t => new { t.DeviceComponent_Id, t.JobSubType_Id, t.JobSubType_JobTypeId })
.ForeignKey("DeviceComponents", t => t.DeviceComponent_Id, cascadeDelete: true)
.ForeignKey("JobSubTypes", t => new { t.JobSubType_Id, t.JobSubType_JobTypeId }, cascadeDelete: true)
.Index(t => t.DeviceComponent_Id)
.Index(t => new { t.JobSubType_Id, t.JobSubType_JobTypeId });
CreateTable(
"DocumentTemplates_JobSubTypes",
c => new
{
DocumentTemplate_Id = c.String(nullable: false, maxLength: 30),
JobSubType_Id = c.String(nullable: false, maxLength: 20),
JobSubType_JobTypeId = c.String(nullable: false, maxLength: 5),
})
.PrimaryKey(t => new { t.DocumentTemplate_Id, t.JobSubType_Id, t.JobSubType_JobTypeId })
.ForeignKey("DocumentTemplates", t => t.DocumentTemplate_Id, cascadeDelete: true)
.ForeignKey("JobSubTypes", t => new { t.JobSubType_Id, t.JobSubType_JobTypeId }, cascadeDelete: true)
.Index(t => t.DocumentTemplate_Id)
.Index(t => new { t.JobSubType_Id, t.JobSubType_JobTypeId });
}
public override void Down()
{
DropIndex("DocumentTemplates_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" });
DropIndex("DocumentTemplates_JobSubTypes", new[] { "DocumentTemplate_Id" });
DropIndex("DeviceComponents_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" });
DropIndex("DeviceComponents_JobSubTypes", new[] { "DeviceComponent_Id" });
DropIndex("Jobs_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" });
DropIndex("Jobs_JobSubTypes", new[] { "Job_Id" });
DropIndex("WirelessCertificates", new[] { "DeviceSerialNumber" });
DropIndex("DeviceAttachments", new[] { "DocumentTemplateId" });
DropIndex("DeviceAttachments", new[] { "TechUserId" });
DropIndex("DeviceAttachments", new[] { "DeviceSerialNumber" });
DropIndex("DeviceDetails", new[] { "DeviceSerialNumber" });
DropIndex("JobMetaNonWarranties", new[] { "JobId" });
DropIndex("JobMetaNonWarranties", new[] { "InvoiceReceivedUserId" });
DropIndex("JobMetaNonWarranties", new[] { "PurchaseOrderSentUserId" });
DropIndex("JobMetaNonWarranties", new[] { "PurchaseOrderRaisedUserId" });
DropIndex("JobMetaNonWarranties", new[] { "AccountingChargePaidUserId" });
DropIndex("JobMetaNonWarranties", new[] { "AccountingChargeAddedUserId" });
DropIndex("JobMetaWarranties", new[] { "JobId" });
DropIndex("JobMetaInsurances", new[] { "ClaimFormSentUserId" });
DropIndex("JobMetaInsurances", new[] { "JobId" });
DropIndex("JobLogs", new[] { "TechUserId" });
DropIndex("JobLogs", new[] { "JobId" });
DropIndex("JobComponents", new[] { "TechUserId" });
DropIndex("JobComponents", new[] { "JobId" });
DropIndex("JobAttachments", new[] { "DocumentTemplateId" });
DropIndex("JobAttachments", new[] { "TechUserId" });
DropIndex("JobAttachments", new[] { "JobId" });
DropIndex("Jobs", new[] { "DeviceSerialNumber" });
DropIndex("Jobs", new[] { "UserId" });
DropIndex("Jobs", new[] { "DeviceReturnedTechUserId" });
DropIndex("Jobs", new[] { "DeviceReadyForReturnTechUserId" });
DropIndex("Jobs", new[] { "DeviceHeldTechUserId" });
DropIndex("Jobs", new[] { "ClosedTechUserId" });
DropIndex("Jobs", new[] { "OpenedTechUserId" });
DropIndex("Jobs", new[] { "JobTypeId" });
DropIndex("DeviceUserAssignments", new[] { "DeviceSerialNumber" });
DropIndex("DeviceUserAssignments", new[] { "AssignedUserId" });
DropIndex("UserAttachments", new[] { "DocumentTemplateId" });
DropIndex("UserAttachments", new[] { "TechUserId" });
DropIndex("UserAttachments", new[] { "UserId" });
DropIndex("UserDetails", new[] { "UserId" });
DropIndex("DeviceBatches", new[] { "DefaultDeviceModelId" });
DropIndex("Devices", new[] { "AssignedUserId" });
DropIndex("Devices", new[] { "DeviceBatchId" });
DropIndex("Devices", new[] { "DeviceProfileId" });
DropIndex("Devices", new[] { "DeviceModelId" });
DropIndex("DeviceComponents", new[] { "DeviceModelId" });
DropIndex("JobSubTypes", new[] { "JobTypeId" });
DropForeignKey("DocumentTemplates_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" }, "JobSubTypes");
DropForeignKey("DocumentTemplates_JobSubTypes", "DocumentTemplate_Id", "DocumentTemplates");
DropForeignKey("DeviceComponents_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" }, "JobSubTypes");
DropForeignKey("DeviceComponents_JobSubTypes", "DeviceComponent_Id", "DeviceComponents");
DropForeignKey("Jobs_JobSubTypes", new[] { "JobSubType_Id", "JobSubType_JobTypeId" }, "JobSubTypes");
DropForeignKey("Jobs_JobSubTypes", "Job_Id", "Jobs");
DropForeignKey("WirelessCertificates", "DeviceSerialNumber", "Devices");
DropForeignKey("DeviceAttachments", "DocumentTemplateId", "DocumentTemplates");
DropForeignKey("DeviceAttachments", "TechUserId", "Users");
DropForeignKey("DeviceAttachments", "DeviceSerialNumber", "Devices");
DropForeignKey("DeviceDetails", "DeviceSerialNumber", "Devices");
DropForeignKey("JobMetaNonWarranties", "JobId", "Jobs");
DropForeignKey("JobMetaNonWarranties", "InvoiceReceivedUserId", "Users");
DropForeignKey("JobMetaNonWarranties", "PurchaseOrderSentUserId", "Users");
DropForeignKey("JobMetaNonWarranties", "PurchaseOrderRaisedUserId", "Users");
DropForeignKey("JobMetaNonWarranties", "AccountingChargePaidUserId", "Users");
DropForeignKey("JobMetaNonWarranties", "AccountingChargeAddedUserId", "Users");
DropForeignKey("JobMetaWarranties", "JobId", "Jobs");
DropForeignKey("JobMetaInsurances", "ClaimFormSentUserId", "Users");
DropForeignKey("JobMetaInsurances", "JobId", "Jobs");
DropForeignKey("JobLogs", "TechUserId", "Users");
DropForeignKey("JobLogs", "JobId", "Jobs");
DropForeignKey("JobComponents", "TechUserId", "Users");
DropForeignKey("JobComponents", "JobId", "Jobs");
DropForeignKey("JobAttachments", "DocumentTemplateId", "DocumentTemplates");
DropForeignKey("JobAttachments", "TechUserId", "Users");
DropForeignKey("JobAttachments", "JobId", "Jobs");
DropForeignKey("Jobs", "DeviceSerialNumber", "Devices");
DropForeignKey("Jobs", "UserId", "Users");
DropForeignKey("Jobs", "DeviceReturnedTechUserId", "Users");
DropForeignKey("Jobs", "DeviceReadyForReturnTechUserId", "Users");
DropForeignKey("Jobs", "DeviceHeldTechUserId", "Users");
DropForeignKey("Jobs", "ClosedTechUserId", "Users");
DropForeignKey("Jobs", "OpenedTechUserId", "Users");
DropForeignKey("Jobs", "JobTypeId", "JobTypes");
DropForeignKey("DeviceUserAssignments", "DeviceSerialNumber", "Devices");
DropForeignKey("DeviceUserAssignments", "AssignedUserId", "Users");
DropForeignKey("UserAttachments", "DocumentTemplateId", "DocumentTemplates");
DropForeignKey("UserAttachments", "TechUserId", "Users");
DropForeignKey("UserAttachments", "UserId", "Users");
DropForeignKey("UserDetails", "UserId", "Users");
DropForeignKey("DeviceBatches", "DefaultDeviceModelId", "DeviceModels");
DropForeignKey("Devices", "AssignedUserId", "Users");
DropForeignKey("Devices", "DeviceBatchId", "DeviceBatches");
DropForeignKey("Devices", "DeviceProfileId", "DeviceProfiles");
DropForeignKey("Devices", "DeviceModelId", "DeviceModels");
DropForeignKey("DeviceComponents", "DeviceModelId", "DeviceModels");
DropForeignKey("JobSubTypes", "JobTypeId", "JobTypes");
DropTable("DocumentTemplates_JobSubTypes");
DropTable("DeviceComponents_JobSubTypes");
DropTable("Jobs_JobSubTypes");
DropTable("WirelessCertificates");
DropTable("DeviceAttachments");
DropTable("DeviceDetails");
DropTable("JobMetaNonWarranties");
DropTable("JobMetaWarranties");
DropTable("JobMetaInsurances");
DropTable("JobLogs");
DropTable("JobComponents");
DropTable("JobAttachments");
DropTable("JobTypes");
DropTable("Jobs");
DropTable("DeviceUserAssignments");
DropTable("UserAttachments");
DropTable("UserDetails");
DropTable("Users");
DropTable("DeviceBatches");
DropTable("DeviceProfiles");
DropTable("Devices");
DropTable("DeviceModels");
DropTable("DeviceComponents");
DropTable("JobSubTypes");
DropTable("DocumentTemplates");
DropTable("Configuration");
}
}
}