-- Execute Production Data Import -- Date: 2025-11-13 -- This script actually performs the import of production data USE shopdb; -- ============================================================================== -- STEP 1: Create backup tables -- ============================================================================== DROP TABLE IF EXISTS `notifications_backup_20251113`; CREATE TABLE `notifications_backup_20251113` LIKE `notifications`; INSERT INTO `notifications_backup_20251113` SELECT * FROM `notifications`; DROP TABLE IF EXISTS `notificationtypes_backup_20251113`; CREATE TABLE `notificationtypes_backup_20251113` LIKE `notificationtypes`; INSERT INTO `notificationtypes_backup_20251113` SELECT * FROM `notificationtypes`; DROP TABLE IF EXISTS `printers_backup_20251113`; CREATE TABLE `printers_backup_20251113` LIKE `printers`; INSERT INTO `printers_backup_20251113` SELECT * FROM `printers`; DROP TABLE IF EXISTS `knowledgebase_backup_20251113`; CREATE TABLE `knowledgebase_backup_20251113` LIKE `knowledgebase`; INSERT INTO `knowledgebase_backup_20251113` SELECT * FROM `knowledgebase`; SELECT 'Backup tables created successfully' AS status; -- ============================================================================== -- STEP 2: Show current counts -- ============================================================================== SELECT '=== BEFORE IMPORT ===' AS ''; SELECT (SELECT COUNT(*) FROM notifications) AS notifications_before, (SELECT COUNT(*) FROM notificationtypes) AS notificationtypes_before, (SELECT COUNT(*) FROM printers) AS printers_before, (SELECT COUNT(*) FROM knowledgebase) AS knowledgebase_before; -- ============================================================================== -- STEP 3: Disable foreign key checks and clear tables -- ============================================================================== SET FOREIGN_KEY_CHECKS = 0; SET AUTOCOMMIT = 0; -- ============================================================================== -- STEP 4: Import Notification Types -- ============================================================================== DELETE FROM `notificationtypes`; SOURCE /home/camp/projects/windows/shopdb/sql/prod_notificationtypes.sql; SELECT 'Notification types imported' AS status; -- ============================================================================== -- STEP 5: Import Notifications -- ============================================================================== DELETE FROM `notifications`; SOURCE /home/camp/projects/windows/shopdb/sql/prod_notifications.sql; SELECT 'Notifications imported' AS status; -- ============================================================================== -- STEP 6: Import Printers -- ============================================================================== DELETE FROM `printers`; SOURCE /home/camp/projects/windows/shopdb/sql/prod_printers.sql; SELECT 'Printers imported' AS status; -- ============================================================================== -- STEP 7: Import Knowledgebase -- ============================================================================== DELETE FROM `knowledgebase`; SOURCE /home/camp/projects/windows/shopdb/sql/prod_knowledgebase.sql; SELECT 'Knowledgebase articles imported' AS status; -- ============================================================================== -- STEP 8: Re-enable constraints and commit -- ============================================================================== COMMIT; SET FOREIGN_KEY_CHECKS = 1; SET AUTOCOMMIT = 1; -- ============================================================================== -- STEP 9: Verify imported data -- ============================================================================== SELECT '=== AFTER IMPORT ===' AS ''; SELECT (SELECT COUNT(*) FROM notifications) AS notifications_after, (SELECT COUNT(*) FROM notificationtypes) AS notificationtypes_after, (SELECT COUNT(*) FROM printers) AS printers_after, (SELECT COUNT(*) FROM knowledgebase) AS knowledgebase_after; -- ============================================================================== -- STEP 10: Show sample imported data -- ============================================================================== SELECT '=== Notification Types ===' AS ''; SELECT notificationtypeid, typename, typedescription, typecolor, isactive FROM notificationtypes ORDER BY notificationtypeid; SELECT '=== Recent Active Notifications ===' AS ''; SELECT notificationid, notificationtypeid, notification, starttime, endtime, ticketnumber, isactive FROM notifications WHERE isactive = 1 ORDER BY starttime DESC LIMIT 10; SELECT '=== Active Printers ===' AS ''; SELECT printerid, printerwindowsname, ipaddress, serialnumber, isactive, iscsf FROM printers WHERE isactive = 1 LIMIT 15; SELECT '=== Top Knowledge Base Articles ===' AS ''; SELECT linkid, shortdescription, keywords, clicks, isactive FROM knowledgebase WHERE isactive = 1 ORDER BY clicks DESC LIMIT 10; -- ============================================================================== -- SUCCESS MESSAGE -- ============================================================================== SELECT '========================================' AS ''; SELECT 'IMPORT SUCCESSFUL!' AS status; SELECT 'Backup tables created with _backup_20251113 suffix' AS info; SELECT 'To rollback, see rollback instructions in import_prod_data.sql' AS rollback_info; SELECT '========================================' AS '';