Initial commit
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
-- Database Diagnostics and Cleanup Script
|
||||
-- Run this on your testing server to identify and fix seeding issues
|
||||
|
||||
-- ===================================================
|
||||
-- STEP 1: Check for corrupted/malformed SKUs
|
||||
-- ===================================================
|
||||
PRINT 'Checking for corrupted inventory items...'
|
||||
SELECT
|
||||
Id,
|
||||
SKU,
|
||||
Name,
|
||||
CompanyId,
|
||||
IsDeleted,
|
||||
CreatedAt
|
||||
FROM InventoryItems
|
||||
WHERE SKU LIKE '(-PWD-%' OR SKU LIKE '%-PWD-%' AND SKU NOT LIKE '[A-Z]%'
|
||||
ORDER BY CreatedAt DESC
|
||||
|
||||
-- ===================================================
|
||||
-- STEP 2: Check for duplicate SKUs
|
||||
-- ===================================================
|
||||
PRINT 'Checking for duplicate SKUs...'
|
||||
SELECT
|
||||
SKU,
|
||||
COUNT(*) as DuplicateCount,
|
||||
STRING_AGG(CAST(Id AS VARCHAR), ', ') as IDs
|
||||
FROM InventoryItems
|
||||
WHERE IsDeleted = 0
|
||||
GROUP BY SKU
|
||||
HAVING COUNT(*) > 1
|
||||
|
||||
-- ===================================================
|
||||
-- STEP 3: Check companies and their codes
|
||||
-- ===================================================
|
||||
PRINT 'Checking company data...'
|
||||
SELECT
|
||||
Id,
|
||||
CompanyName,
|
||||
CompanyCode,
|
||||
IsActive,
|
||||
IsDeleted,
|
||||
SubscriptionPlan
|
||||
FROM Companies
|
||||
WHERE IsDeleted = 0
|
||||
ORDER BY Id
|
||||
|
||||
-- ===================================================
|
||||
-- STEP 4: Check inventory count per company
|
||||
-- ===================================================
|
||||
PRINT 'Inventory items per company...'
|
||||
SELECT
|
||||
c.Id as CompanyId,
|
||||
c.CompanyName,
|
||||
c.CompanyCode,
|
||||
COUNT(i.Id) as InventoryItemCount
|
||||
FROM Companies c
|
||||
LEFT JOIN InventoryItems i ON c.Id = i.CompanyId AND i.IsDeleted = 0
|
||||
WHERE c.IsDeleted = 0
|
||||
GROUP BY c.Id, c.CompanyName, c.CompanyCode
|
||||
ORDER BY c.Id
|
||||
|
||||
-- ===================================================
|
||||
-- CLEANUP OPTIONS (commented out for safety)
|
||||
-- Uncomment the section you need AFTER reviewing the results above
|
||||
-- ===================================================
|
||||
|
||||
-- OPTION A: Delete ALL corrupted/malformed inventory items
|
||||
/*
|
||||
DELETE FROM InventoryItems
|
||||
WHERE SKU LIKE '(-PWD-%' OR (SKU LIKE '%-PWD-%' AND SKU NOT LIKE '[A-Z]%')
|
||||
PRINT 'Deleted corrupted inventory items'
|
||||
*/
|
||||
|
||||
-- OPTION B: Delete ALL inventory items for a specific company (to re-seed)
|
||||
/*
|
||||
DECLARE @CompanyId INT = 1 -- Change this to your company ID
|
||||
DELETE FROM InventoryItems WHERE CompanyId = @CompanyId
|
||||
PRINT 'Deleted all inventory items for company ' + CAST(@CompanyId AS VARCHAR)
|
||||
*/
|
||||
|
||||
-- OPTION C: Delete ALL seed data for a complete fresh start (DANGER!)
|
||||
/*
|
||||
-- WARNING: This deletes ALL business data but keeps users and companies
|
||||
DELETE FROM JobPhotos
|
||||
DELETE FROM JobNotes
|
||||
DELETE FROM JobItems
|
||||
DELETE FROM Jobs
|
||||
DELETE FROM QuoteItems
|
||||
DELETE FROM Quotes
|
||||
DELETE FROM InventoryTransactions
|
||||
DELETE FROM InventoryItems
|
||||
DELETE FROM Equipment
|
||||
DELETE FROM MaintenanceRecords
|
||||
DELETE FROM CatalogItems
|
||||
DELETE FROM PricingTiers
|
||||
DELETE FROM CompanyOperatingCosts
|
||||
DELETE FROM Customers
|
||||
PRINT 'All seed data deleted - ready for fresh seeding'
|
||||
*/
|
||||
|
||||
-- ===================================================
|
||||
-- STEP 5: Verify database is ready for seeding
|
||||
-- ===================================================
|
||||
PRINT 'Verification complete. Review results above before running cleanup.'
|
||||
Reference in New Issue
Block a user