95 lines
3.3 KiB
Transact-SQL
95 lines
3.3 KiB
Transact-SQL
-- ===================================================
|
|
-- CLEANUP SEED DATA SCRIPT
|
|
-- Use this to remove all seed data and start fresh
|
|
-- ===================================================
|
|
|
|
-- STEP 1: Identify your company ID
|
|
SELECT Id, CompanyName, CompanyCode FROM Companies WHERE IsDeleted = 0
|
|
|
|
-- STEP 2: Set your company ID here
|
|
DECLARE @CompanyId INT = 1 -- CHANGE THIS TO YOUR COMPANY ID
|
|
|
|
PRINT 'Cleaning up seed data for CompanyId: ' + CAST(@CompanyId AS VARCHAR)
|
|
|
|
-- STEP 3: Delete all seed data in correct order (respecting foreign keys)
|
|
BEGIN TRANSACTION
|
|
|
|
-- Delete Job-related data
|
|
PRINT 'Deleting job photos...'
|
|
DELETE FROM JobPhotos WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId)
|
|
|
|
PRINT 'Deleting job notes...'
|
|
DELETE FROM JobNotes WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId)
|
|
|
|
PRINT 'Deleting job items...'
|
|
DELETE FROM JobItems WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId)
|
|
|
|
PRINT 'Deleting jobs...'
|
|
DELETE FROM Jobs WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Quote-related data
|
|
PRINT 'Deleting quote items...'
|
|
DELETE FROM QuoteItems WHERE QuoteId IN (SELECT Id FROM Quotes WHERE CompanyId = @CompanyId)
|
|
|
|
PRINT 'Deleting quotes...'
|
|
DELETE FROM Quotes WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Maintenance records
|
|
PRINT 'Deleting maintenance records...'
|
|
DELETE FROM MaintenanceRecords WHERE EquipmentId IN (SELECT Id FROM Equipment WHERE CompanyId = @CompanyId)
|
|
|
|
-- Delete Equipment
|
|
PRINT 'Deleting equipment...'
|
|
DELETE FROM Equipment WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Inventory-related data
|
|
PRINT 'Deleting inventory transactions...'
|
|
DELETE FROM InventoryTransactions WHERE InventoryItemId IN (SELECT Id FROM InventoryItems WHERE CompanyId = @CompanyId)
|
|
|
|
PRINT 'Deleting inventory items...'
|
|
DELETE FROM InventoryItems WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Catalog
|
|
PRINT 'Deleting catalog items...'
|
|
DELETE FROM CatalogItems WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Customers
|
|
PRINT 'Deleting customers...'
|
|
DELETE FROM Customers WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Pricing Tiers
|
|
PRINT 'Deleting pricing tiers...'
|
|
DELETE FROM PricingTiers WHERE CompanyId = @CompanyId
|
|
|
|
-- Delete Operating Costs
|
|
PRINT 'Deleting operating costs...'
|
|
DELETE FROM CompanyOperatingCosts WHERE CompanyId = @CompanyId
|
|
|
|
PRINT 'Seed data cleanup complete!'
|
|
|
|
-- Show what's left
|
|
SELECT
|
|
'Customers' as TableName, COUNT(*) as RemainingRecords FROM Customers WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'InventoryItems', COUNT(*) FROM InventoryItems WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'Equipment', COUNT(*) FROM Equipment WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'PricingTiers', COUNT(*) FROM PricingTiers WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'Quotes', COUNT(*) FROM Quotes WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'Jobs', COUNT(*) FROM Jobs WHERE CompanyId = @CompanyId
|
|
UNION ALL
|
|
SELECT 'CatalogItems', COUNT(*) FROM CatalogItems WHERE CompanyId = @CompanyId
|
|
|
|
COMMIT TRANSACTION
|
|
|
|
PRINT 'Ready for fresh seed data!'
|
|
|
|
-- NOTE: This does NOT delete:
|
|
-- - The company itself
|
|
-- - User accounts
|
|
-- - Roles
|
|
-- These are preserved so you can log in and re-seed
|