|
- -- Rewrite identifying values in fpsms_demo. Does not delete rows.
- -- Ids, foreign keys, statuses, quantities, and dates stay.
- --
- -- Run only against a disposable full copy of production:
- -- mysql -h127.0.0.1 -P3306 -uroot -p fpsms_demo < scripts/anonymize_demo_copy.sql
- --
- -- Refuses to run unless the current database is fpsms_demo.
- -- Refuses to run again once settings.name = DEMO.anonymized.v1 exists.
- -- Password for every user, including demo / demo.stock / demo.prod, is Demo2026!.
- --
- -- MySQL Workbench stops a query after 30 seconds and reports error 2013.
- -- Before running: Preferences, SQL Editor, DBMS connection read timeout = 3600.
- -- Reconnect, select fpsms_demo, then run this whole file.
-
- SET NAMES utf8mb4;
- SET SESSION sql_safe_updates = 0;
- SET SESSION group_concat_max_len = 1000000;
-
- DROP PROCEDURE IF EXISTS demo_exec_if_table;
- DROP PROCEDURE IF EXISTS demo_apply_map;
- DROP PROCEDURE IF EXISTS demo_apply_pair;
- DROP PROCEDURE IF EXISTS demo_add_missing;
- DROP PROCEDURE IF EXISTS demo_blank_columns;
- DROP PROCEDURE IF EXISTS demo_replace_floors;
- DROP PROCEDURE IF EXISTS demo_remap_shop_csv;
- DROP PROCEDURE IF EXISTS demo_drop_maps;
- DROP PROCEDURE IF EXISTS anonymize_demo_copy;
-
- DELIMITER $$
-
- CREATE PROCEDURE demo_drop_maps()
- BEGIN
- DROP TABLE IF EXISTS _demo_map_item;
- DROP TABLE IF EXISTS _demo_map_shop;
- DROP TABLE IF EXISTS _demo_map_lot;
- DROP TABLE IF EXISTS _demo_map_loc;
- DROP TABLE IF EXISTS _demo_map_truck;
- DROP TABLE IF EXISTS _demo_map_do;
- DROP TABLE IF EXISTS _demo_map_po;
- DROP TABLE IF EXISTS _demo_map_jo;
- DROP TABLE IF EXISTS _demo_map_pk;
- DROP TABLE IF EXISTS _demo_map_si;
- DROP TABLE IF EXISTS _demo_map_st;
- DROP TABLE IF EXISTS _demo_map_pp;
- DROP TABLE IF EXISTS _demo_map_user;
- DROP TABLE IF EXISTS _demo_map_username;
- DROP TABLE IF EXISTS _demo_map_person;
- DROP TABLE IF EXISTS _demo_map_equip;
- DROP TABLE IF EXISTS _demo_map_stage;
- END$$
-
- CREATE PROCEDURE demo_exec_if_table(IN p_table VARCHAR(64), IN p_sql TEXT)
- BEGIN
- DECLARE n INT DEFAULT 0;
- SELECT COUNT(*) INTO n
- FROM information_schema.tables
- WHERE table_schema = DATABASE() AND table_name = p_table;
- IF n > 0 THEN
- SET @demo_sql = p_sql;
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- END IF;
- END$$
-
- CREATE PROCEDURE demo_apply_map(IN p_table VARCHAR(64), IN p_column VARCHAR(64), IN p_map VARCHAR(64))
- BEGIN
- DECLARE n INT DEFAULT 0;
- SELECT COUNT(*) INTO n
- FROM information_schema.columns
- WHERE table_schema = DATABASE()
- AND table_name = p_table
- AND column_name = p_column;
- IF n > 0 THEN
- SET @demo_sql = CONCAT(
- 'UPDATE `', p_table, '` t INNER JOIN `', p_map, '` m ',
- 'ON t.`', p_column, '` COLLATE utf8mb4_unicode_ci = m.old_value ',
- 'SET t.`', p_column, '` = m.new_value'
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- END IF;
- END$$
-
- CREATE PROCEDURE demo_apply_pair(
- IN p_table VARCHAR(64),
- IN p_code VARCHAR(64),
- IN p_name VARCHAR(64),
- IN p_map VARCHAR(64)
- )
- BEGIN
- DECLARE ncode INT DEFAULT 0;
- DECLARE nname INT DEFAULT 0;
- SELECT COUNT(*) INTO ncode
- FROM information_schema.columns
- WHERE table_schema = DATABASE() AND table_name = p_table AND column_name = p_code;
- SELECT COUNT(*) INTO nname
- FROM information_schema.columns
- WHERE table_schema = DATABASE() AND table_name = p_table AND column_name = p_name;
- IF ncode > 0 AND nname > 0 THEN
- SET @demo_sql = CONCAT(
- 'UPDATE `', p_table, '` t INNER JOIN `', p_map, '` m ',
- 'ON t.`', p_code, '` COLLATE utf8mb4_unicode_ci = m.old_value ',
- 'SET t.`', p_code, '` = m.new_value, t.`', p_name, '` = m.new_name'
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- ELSEIF ncode > 0 THEN
- CALL demo_apply_map(p_table, p_code, p_map);
- END IF;
- END$$
-
- CREATE PROCEDURE demo_add_missing(
- IN p_map VARCHAR(64),
- IN p_table VARCHAR(64),
- IN p_column VARCHAR(64),
- IN p_prefix VARCHAR(24)
- )
- demo_add_missing_body: BEGIN
- DECLARE n INT DEFAULT 0;
- SELECT COUNT(*) INTO n
- FROM information_schema.columns
- WHERE table_schema = DATABASE()
- AND table_name = p_table
- AND column_name = p_column;
- IF n = 0 THEN
- LEAVE demo_add_missing_body;
- END IF;
-
- DELETE FROM _demo_map_stage;
- SET @demo_sql = CONCAT(
- 'INSERT IGNORE INTO _demo_map_stage (old_value) ',
- 'SELECT DISTINCT `', p_column, '` FROM `', p_table, '` ',
- 'WHERE `', p_column, '` IS NOT NULL AND `', p_column, '` <> '''''
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
-
- SET @demo_sql = CONCAT(
- 'DELETE s FROM _demo_map_stage s INNER JOIN `', p_map, '` m ',
- 'ON m.old_value = s.old_value'
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
-
- SET @demo_sql = CONCAT(
- 'INSERT INTO `', p_map, '` (old_value, new_value) ',
- 'SELECT old_value, CONCAT(''', p_prefix, ''', rn) FROM (',
- ' SELECT old_value, ROW_NUMBER() OVER (ORDER BY old_value) AS rn FROM _demo_map_stage',
- ') numbered'
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- END$$
-
- CREATE PROCEDURE demo_blank_columns()
- BEGIN
- DECLARE done INT DEFAULT 0;
- DECLARE tname VARCHAR(64);
- DECLARE cname VARCHAR(64);
- DECLARE cur CURSOR FOR
- SELECT table_name, column_name
- FROM information_schema.columns
- WHERE table_schema = DATABASE()
- AND data_type IN ('varchar', 'char', 'text', 'tinytext', 'mediumtext', 'longtext')
- AND table_name NOT LIKE '\_demo\_map\_%'
- AND table_name NOT IN ('settings', 'DATABASECHANGELOG', 'DATABASECHANGELOGLOCK', 'authority', 'uom_conversion', 'currency')
- AND LOWER(column_name) IN (
- 'remarks', 'remark', 'reason', 'issue_remark', 'errormessage',
- 'addr1', 'addr2', 'addr3', 'addr4',
- 'contactno', 'contactemail', 'contactname', 'brno', 'district',
- 'phone1', 'phone2', 'staffno', 'department', 'title',
- 'sendermail', 'tomail', 'subject', 'content',
- 'districtreference', 'countryoforigin',
- 'dnno', 'invoiceno',
- 'subjectcht', 'subjecteng', 'contentcht', 'contenteng'
- );
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-
- OPEN cur;
- blank_loop: LOOP
- FETCH cur INTO tname, cname;
- IF done = 1 THEN
- LEAVE blank_loop;
- END IF;
- SET @demo_sql = CONCAT(
- 'UPDATE `', tname, '` SET `', cname, '` = '''' WHERE `', cname, '` IS NOT NULL AND `', cname, '` <> '''''
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- END LOOP;
- CLOSE cur;
- END$$
-
- CREATE PROCEDURE demo_replace_floors()
- BEGIN
- DECLARE done INT DEFAULT 0;
- DECLARE tname VARCHAR(64);
- DECLARE cname VARCHAR(64);
- DECLARE cset VARCHAR(64);
- DECLARE bincol VARCHAR(64);
- DECLARE cur CURSOR FOR
- SELECT table_name, column_name, character_set_name
- FROM information_schema.columns
- WHERE table_schema = DATABASE()
- AND data_type IN ('varchar', 'char', 'text', 'tinytext', 'mediumtext', 'longtext')
- AND table_name NOT LIKE '\_demo\_map\_%'
- AND table_name NOT IN ('DATABASECHANGELOG', 'DATABASECHANGELOGLOCK', 'authority');
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-
- OPEN cur;
- floor_loop: LOOP
- FETCH cur INTO tname, cname, cset;
- IF done = 1 THEN
- LEAVE floor_loop;
- END IF;
- SET bincol = IF(cset = 'utf8mb4', 'utf8mb4_bin', 'utf8mb3_bin');
-
- SET @demo_sql = CONCAT(
- 'UPDATE `', tname, '` SET `', cname, '` = CASE ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''2/F'' THEN ''A/F'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''4/F'' THEN ''B/F'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''1/F'' THEN ''C/F'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''3/F'' THEN ''D/F'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''2F'' THEN ''AF'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''4F'' THEN ''BF'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''1F'' THEN ''CF'' ',
- 'WHEN UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' = ''3F'' THEN ''DF'' ',
- 'ELSE `', cname, '` END ',
- 'WHERE UPPER(TRIM(`', cname, '`)) COLLATE ', bincol, ' IN (''2/F'',''4/F'',''1/F'',''3/F'',''2F'',''4F'',''1F'',''3F'')'
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
-
- SET @demo_sql = CONCAT(
- 'UPDATE `', tname, '` SET `', cname, '` = ',
- 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(`', cname, '`, ',
- '''-2F-'', ''-AF-''), ''-4F-'', ''-BF-''), ''-1F-'', ''-CF-''), ''-3F-'', ''-DF-''), ',
- '''-2/F-'', ''-A/F-''), ''-4/F-'', ''-B/F-''), ''-1/F-'', ''-C/F-''), ''-3/F-'', ''-D/F-'') ',
- 'WHERE `', cname, '` COLLATE ', bincol, ' LIKE ''%-2F-%'' OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-4F-%'' ',
- 'OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-1F-%'' OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-3F-%'' ',
- 'OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-2/F-%'' OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-4/F-%'' ',
- 'OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-1/F-%'' OR `', cname, '` COLLATE ', bincol, ' LIKE ''%-3/F-%'''
- );
- PREPARE demo_stmt FROM @demo_sql;
- EXECUTE demo_stmt;
- DEALLOCATE PREPARE demo_stmt;
- END LOOP;
- CLOSE cur;
- END$$
-
- CREATE PROCEDURE demo_remap_shop_csv(IN p_setting VARCHAR(255))
- demo_remap_shop_csv_body: BEGIN
- DECLARE done INT DEFAULT 0;
- DECLARE v LONGTEXT;
- DECLARE oldv VARCHAR(255);
- DECLARE newv VARCHAR(255);
- DECLARE setting_rows INT DEFAULT 0;
- DECLARE cur CURSOR FOR
- SELECT old_value, new_value
- FROM _demo_map_shop
- ORDER BY CHAR_LENGTH(old_value) DESC, old_value;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-
- SELECT COUNT(*) INTO setting_rows
- FROM settings
- WHERE name = p_setting COLLATE utf8mb4_0900_ai_ci;
- IF setting_rows = 0 THEN
- LEAVE demo_remap_shop_csv_body;
- END IF;
- SELECT IFNULL(value, '') INTO v
- FROM settings
- WHERE name = p_setting COLLATE utf8mb4_0900_ai_ci
- LIMIT 1;
- IF v IS NULL OR v COLLATE utf8mb4_0900_ai_ci = '' THEN
- LEAVE demo_remap_shop_csv_body;
- END IF;
-
- SET v = CONCAT(',', REPLACE(v, ' ', ''), ',');
- OPEN cur;
- shop_csv_loop: LOOP
- FETCH cur INTO oldv, newv;
- IF done = 1 THEN
- LEAVE shop_csv_loop;
- END IF;
- SET v = REPLACE(
- v COLLATE utf8mb4_bin,
- CONCAT(',', oldv COLLATE utf8mb4_bin, ','),
- CONCAT(',', newv COLLATE utf8mb4_bin, ',')
- );
- END LOOP;
- CLOSE cur;
- SET v = TRIM(BOTH ',' FROM v);
- UPDATE settings
- SET value = IFNULL(v, '')
- WHERE name = p_setting COLLATE utf8mb4_0900_ai_ci;
- END$$
-
- CREATE PROCEDURE anonymize_demo_copy()
- BEGIN
- DECLARE marker_count INT DEFAULT 0;
- DECLARE demo_id BIGINT DEFAULT NULL;
- DECLARE stock_id BIGINT DEFAULT NULL;
- DECLARE prod_id BIGINT DEFAULT NULL;
- DECLARE pwd_hash VARCHAR(80) DEFAULT '$2a$10$9eqxnNGtxFADAW9AbbjRIevr8YWgBqkLr//23U6qYOWs5U9figE2u';
-
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET demo_id = demo_id;
- DECLARE EXIT HANDLER FOR SQLEXCEPTION
- BEGIN
- ROLLBACK;
- CALL demo_drop_maps();
- RESIGNAL;
- END;
-
- IF DATABASE() IS NULL OR DATABASE() <> 'fpsms_demo' THEN
- SIGNAL SQLSTATE '45000'
- SET MESSAGE_TEXT = 'Refusing to anonymize: current database is not fpsms_demo';
- END IF;
-
- SELECT COUNT(*) INTO marker_count FROM settings WHERE name = 'DEMO.anonymized.v1';
- IF marker_count > 0 THEN
- SIGNAL SQLSTATE '45000'
- SET MESSAGE_TEXT = 'Refusing to anonymize: DEMO.anonymized.v1 already exists';
- END IF;
-
- CALL demo_drop_maps();
-
- CREATE TABLE _demo_map_stage (
- old_value VARCHAR(512) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_item (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(255) NOT NULL,
- new_name VARCHAR(255) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_shop (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(255) NOT NULL,
- new_name VARCHAR(255) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_lot (
- old_value VARCHAR(512) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_loc (
- old_value VARCHAR(512) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_truck (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_do (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_po (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_jo (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_pk (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_si (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_st (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_pp (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_equip (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(64) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_user (
- user_id BIGINT NOT NULL,
- old_username VARCHAR(255) NULL,
- new_username VARCHAR(255) NOT NULL,
- old_name VARCHAR(255) NULL,
- new_name VARCHAR(255) NOT NULL,
- PRIMARY KEY (user_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_username (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(255) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- CREATE TABLE _demo_map_person (
- old_value VARCHAR(255) NOT NULL,
- new_value VARCHAR(255) NOT NULL,
- PRIMARY KEY (old_value)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
- SELECT u.id INTO demo_id
- FROM `user` u
- JOIN user_authority ua ON ua.userId = u.id
- JOIN authority a ON a.id = ua.authId
- WHERE a.authority = 'ADMIN'
- ORDER BY u.deleted, u.id
- LIMIT 1;
-
- IF demo_id IS NULL THEN
- SELECT id INTO demo_id FROM `user` ORDER BY deleted, id LIMIT 1;
- END IF;
-
- SELECT u.id INTO stock_id
- FROM `user` u
- WHERE u.id <> IFNULL(demo_id, -1)
- AND EXISTS (
- SELECT 1 FROM user_authority ua
- JOIN authority a ON a.id = ua.authId
- WHERE ua.userId = u.id AND a.authority = 'STOCK'
- )
- AND NOT EXISTS (
- SELECT 1 FROM user_authority ua
- JOIN authority a ON a.id = ua.authId
- WHERE ua.userId = u.id AND a.authority = 'ADMIN'
- )
- ORDER BY u.deleted, u.id
- LIMIT 1;
-
- SELECT u.id INTO prod_id
- FROM `user` u
- WHERE u.id <> IFNULL(demo_id, -1)
- AND u.id <> IFNULL(stock_id, -1)
- AND EXISTS (
- SELECT 1 FROM user_authority ua
- JOIN authority a ON a.id = ua.authId
- WHERE ua.userId = u.id AND a.authority = 'PROD'
- )
- AND NOT EXISTS (
- SELECT 1 FROM user_authority ua
- JOIN authority a ON a.id = ua.authId
- WHERE ua.userId = u.id AND a.authority = 'ADMIN'
- )
- ORDER BY u.deleted, u.id
- LIMIT 1;
-
- INSERT INTO _demo_map_user (user_id, old_username, new_username, old_name, new_name)
- SELECT id,
- NULLIF(username, ''),
- CASE
- WHEN id = demo_id THEN 'demo'
- WHEN id = stock_id THEN 'demo.stock'
- WHEN id = prod_id THEN 'demo.prod'
- ELSE CONCAT('USER-', id)
- END,
- NULLIF(name, ''),
- CASE
- WHEN id = demo_id THEN 'Demo'
- WHEN id = stock_id THEN 'Demo Stock'
- WHEN id = prod_id THEN 'Demo Prod'
- ELSE CONCAT('User ', id)
- END
- FROM `user`;
-
- INSERT INTO _demo_map_username (old_value, new_value)
- SELECT old_username, MIN(new_username)
- FROM _demo_map_user
- WHERE old_username IS NOT NULL
- GROUP BY old_username;
-
- INSERT INTO _demo_map_person (old_value, new_value)
- SELECT old_name, MIN(new_name)
- FROM _demo_map_user
- WHERE old_name IS NOT NULL
- GROUP BY old_name;
-
- INSERT INTO _demo_map_item (old_value, new_value, new_name)
- SELECT code, CONCAT('ITEM-', MIN(id)), CONCAT('Item ', MIN(id))
- FROM items
- WHERE code IS NOT NULL AND code <> ''
- GROUP BY code;
-
- INSERT INTO _demo_map_shop (old_value, new_value, new_name)
- SELECT code, CONCAT('SHOP-', MIN(id)), CONCAT('Shop ', MIN(id))
- FROM shop
- WHERE code IS NOT NULL AND code <> ''
- GROUP BY code;
-
- INSERT INTO _demo_map_lot (old_value, new_value)
- SELECT lotNo, CONCAT('LOT-', MIN(id))
- FROM inventory_lot
- WHERE lotNo IS NOT NULL AND lotNo <> ''
- GROUP BY lotNo;
-
- CALL demo_add_missing('_demo_map_lot', 'stock_in_line', 'lotNo', 'LOT-S');
- CALL demo_add_missing('_demo_map_lot', 'stock_in_line', 'productLotNo', 'LOT-P');
- CALL demo_add_missing('_demo_map_lot', 'delivery_order_line', 'm18Lot', 'LOT-M');
- CALL demo_add_missing('_demo_map_lot', 'stocktakerecord', 'lotNo', 'LOT-T');
- CALL demo_add_missing('_demo_map_lot', 'stock_adjustment_record', 'lotNo', 'LOT-A');
- CALL demo_add_missing('_demo_map_lot', 'stock_transfer_record', 'lotNo', 'LOT-R');
- CALL demo_add_missing('_demo_map_lot', 'item_lot_trace_log', 'lotNo', 'LOT-L');
- CALL demo_add_missing('_demo_map_lot', 'bag_lot_line', 'lotNo', 'LOT-B');
- CALL demo_add_missing('_demo_map_lot', 'pick_execution_issue', 'lot_no', 'LOT-I');
-
- INSERT INTO _demo_map_loc (old_value, new_value)
- SELECT code,
- CASE code
- WHEN '2F-W202-01-00' THEN 'LOC-HOLD'
- WHEN '2F-W200-#A-00' THEN 'LOC-WIP'
- ELSE CONCAT('LOC-', MIN(id))
- END
- FROM warehouse
- WHERE code IS NOT NULL AND code <> ''
- AND UPPER(REPLACE(code, ' ', '')) NOT IN ('2/F', '2F', '4/F', '4F', '1/F', '1F', '3/F', '3F')
- GROUP BY code;
-
- CALL demo_add_missing('_demo_map_loc', 'items', 'LocationCode', 'LOC-I');
- CALL demo_add_missing('_demo_map_loc', 'stock_transfer_record', 'startLocation', 'LOC-S');
- CALL demo_add_missing('_demo_map_loc', 'stock_transfer_record', 'targetLocation', 'LOC-T');
- CALL demo_add_missing('_demo_map_loc', 'pick_execution_issue', 'store_location', 'LOC-P');
-
- DELETE FROM _demo_map_loc
- WHERE UPPER(REPLACE(old_value, ' ', '')) IN ('2/F', '2F', '4/F', '4F', '1/F', '1F', '3/F', '3F');
-
- INSERT INTO _demo_map_loc (old_value, new_value) VALUES
- ('2F-W202-01-00', 'LOC-HOLD'),
- ('2F-W200-#A-00', 'LOC-WIP'),
- ('4F-W402-01-00', 'LOC-X01'),
- ('4F-W402-02-00', 'LOC-X02'),
- ('4F-W402-03-00', 'LOC-X03'),
- ('4F-W402-04-00', 'LOC-X04'),
- ('4F-W402-05-00', 'LOC-X05'),
- ('4F-W402-#A-00', 'LOC-X06'),
- ('4F-W402-#B-00', 'LOC-X07'),
- ('4F-W402-#C-00', 'LOC-X08'),
- ('4F-W402-#D-00', 'LOC-X09'),
- ('4F-W402-#E-00', 'LOC-X10'),
- ('4F-W402-#F-00', 'LOC-X11'),
- ('4F-W402-#G-00', 'LOC-X12'),
- ('4F-W402-#H-00', 'LOC-X13'),
- ('4F-W402-#I-00', 'LOC-X14'),
- ('4F-W402-#J-00', 'LOC-X15'),
- ('4F-W402-#K-00', 'LOC-X16'),
- ('4F-W402-#L-00', 'LOC-X17'),
- ('4F-W402-#M-00', 'LOC-X18'),
- ('4F-W402-#N-00', 'LOC-X19'),
- ('4F-W402-#O-00', 'LOC-X20'),
- ('4F-W402-#P-00', 'LOC-X21'),
- ('4F-W402-#Q-00', 'LOC-X22'),
- ('4F-W402-#R-00', 'LOC-X23'),
- ('4F-W402-#S-00', 'LOC-X24')
- ON DUPLICATE KEY UPDATE new_value = VALUES(new_value);
-
- INSERT INTO _demo_map_truck (old_value, new_value)
- SELECT TruckLanceCode, CONCAT('TRUCK-', MIN(id))
- FROM truck
- WHERE TruckLanceCode IS NOT NULL AND TruckLanceCode <> ''
- GROUP BY TruckLanceCode;
-
- CALL demo_add_missing('_demo_map_truck', 'truck_lane_version', 'truckLanceCode', 'TRUCK-V');
- CALL demo_add_missing('_demo_map_truck', 'truck_lane_version_line', 'truckLanceCode', 'TRUCK-L');
- CALL demo_add_missing('_demo_map_truck', 'truck_lane_schedule_line', 'fromTruckLanceCode', 'TRUCK-F');
- CALL demo_add_missing('_demo_map_truck', 'truck_lane_schedule_line', 'toTruckLanceCode', 'TRUCK-T');
- CALL demo_add_missing('_demo_map_truck', 'delivery_order_pick_order', 'truckLanceCode', 'TRUCK-D');
- CALL demo_add_missing('_demo_map_truck', 'do_pick_order', 'TruckLanceCode', 'TRUCK-O');
- CALL demo_add_missing('_demo_map_truck', 'do_pick_order_record', 'TruckLanceCode', 'TRUCK-R');
- CALL demo_add_missing('_demo_map_truck', 'do_replenishment', 'truckLaneCode', 'TRUCK-P');
-
- INSERT INTO _demo_map_do (old_value, new_value)
- SELECT code, CONCAT('DO-', MIN(id)) FROM delivery_order
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_po (old_value, new_value)
- SELECT code, CONCAT('PO-', MIN(id)) FROM purchase_order
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_jo (old_value, new_value)
- SELECT code, CONCAT('JO-', MIN(id)) FROM job_order
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_pk (old_value, new_value)
- SELECT code, CONCAT('PK-', MIN(id)) FROM pick_order
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_si (old_value, new_value)
- SELECT code, CONCAT('SI-', MIN(id)) FROM stock_in
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_st (old_value, new_value)
- SELECT code, CONCAT('ST-', MIN(id)) FROM stock_take
- WHERE code IS NOT NULL AND code <> '' GROUP BY code;
-
- INSERT INTO _demo_map_pp (old_value, new_value)
- SELECT productprocesscode, CONCAT('PP-', MIN(id)) FROM productprocess
- WHERE productprocesscode IS NOT NULL AND productprocesscode <> ''
- GROUP BY productprocesscode;
-
- INSERT INTO _demo_map_equip (old_value, new_value)
- SELECT code, CONCAT('EQ-', MIN(id)) FROM equipment
- WHERE code IS NOT NULL AND code <> ''
- GROUP BY code;
-
- START TRANSACTION;
-
- UPDATE items i
- LEFT JOIN _demo_map_item m ON i.code COLLATE utf8mb4_unicode_ci = m.old_value
- SET i.code = COALESCE(m.new_value, CONCAT('ITEM-', i.id)),
- i.name = COALESCE(m.new_name, CONCAT('Item ', i.id)),
- i.description = COALESCE(m.new_name, CONCAT('Item ', i.id)),
- i.remarks = '',
- i.countryOfOrigin = '';
-
- UPDATE shop s
- JOIN _demo_map_shop m ON s.code COLLATE utf8mb4_unicode_ci = m.old_value
- SET s.code = m.new_value,
- s.name = m.new_name,
- s.brNo = '',
- s.contactNo = '',
- s.contactEmail = '',
- s.contactName = '',
- s.addr1 = '',
- s.addr2 = '',
- s.addr3 = '',
- s.addr4 = '',
- s.district = '';
-
- UPDATE shop
- SET code = CONCAT('SHOP-', id),
- name = CONCAT('Shop ', id),
- brNo = '',
- contactNo = '',
- contactEmail = '',
- contactName = '',
- addr1 = '',
- addr2 = '',
- addr3 = '',
- addr4 = '',
- district = ''
- WHERE code IS NULL OR code = '';
-
- CALL demo_apply_pair('truck', 'ShopCode', 'ShopName', '_demo_map_shop');
- CALL demo_apply_pair('truck_lane_schedule_line', 'shopCode', 'shopName', '_demo_map_shop');
- CALL demo_apply_pair('delivery_order_pick_order', 'shopCode', 'shopName', '_demo_map_shop');
- CALL demo_apply_pair('do_pick_order', 'ShopCode', 'ShopName', '_demo_map_shop');
- CALL demo_apply_pair('do_pick_order_record', 'ShopCode', 'ShopName', '_demo_map_shop');
- CALL demo_apply_pair('do_replenishment', 'shopCode', 'shopName', '_demo_map_shop');
- CALL demo_apply_pair('truck_lane_version_line', 'shopCode', 'branchName', '_demo_map_shop');
- CALL demo_apply_map('truck', 'ShopCode', '_demo_map_shop');
- CALL demo_apply_map('do_replenishment', 'shopCode', '_demo_map_shop');
-
- CALL demo_apply_pair('do_replenishment', 'itemNo', 'itemName', '_demo_map_item');
- CALL demo_apply_pair('stock_transfer_record', 'itemCode', 'itemName', '_demo_map_item');
- CALL demo_apply_pair('stocktakerecord', 'itemCode', 'itemName', '_demo_map_item');
- CALL demo_apply_pair('bag', 'itemCode', 'itemName', '_demo_map_item');
- CALL demo_apply_map('purchase_order_line', 'itemNo', '_demo_map_item');
- CALL demo_apply_map('delivery_order_line', 'itemNo', '_demo_map_item');
- CALL demo_apply_map('stock_in_line', 'itemNo', '_demo_map_item');
- CALL demo_apply_map('do_replenishment', 'itemNo', '_demo_map_item');
- CALL demo_apply_map('stock_ledger', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('stocktakerecord', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('stock_adjustment_record', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('stock_transfer_record', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('item_lot_trace_log', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('item_default_shelf_life', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('coffee_or_tea', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('onpack_template_file', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('onpack_expiry_item_code', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('bag', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('jo_pick_order', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('jo_pick_order_record', 'itemCode', '_demo_map_item');
- CALL demo_apply_map('pick_execution_issue', 'item_code', '_demo_map_item');
- CALL demo_apply_map('m18_cunit', 'itemNo', '_demo_map_item');
-
- CALL demo_apply_map('inventory_lot', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('stock_in_line', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('stock_in_line', 'productLotNo', '_demo_map_lot');
- CALL demo_apply_map('delivery_order_line', 'm18Lot', '_demo_map_lot');
- CALL demo_apply_map('stocktakerecord', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('stock_adjustment_record', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('stock_transfer_record', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('item_lot_trace_log', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('bag_lot_line', 'lotNo', '_demo_map_lot');
- CALL demo_apply_map('pick_execution_issue', 'lot_no', '_demo_map_lot');
-
- UPDATE warehouse w
- LEFT JOIN _demo_map_loc m ON w.code COLLATE utf8mb4_unicode_ci = m.old_value
- SET w.code = COALESCE(m.new_value, CONCAT('LOC-', w.id)),
- w.name = LEFT(COALESCE(m.new_value, CONCAT('LOC-', w.id)), 30),
- w.description = LEFT(COALESCE(m.new_value, CONCAT('LOC-', w.id)), 30),
- w.warehouse = NULL,
- w.area = NULL,
- w.slot = NULL,
- w.stockTakeSection = NULL,
- w.stockTakeSectionDescription = NULL;
-
- CALL demo_apply_map('items', 'LocationCode', '_demo_map_loc');
- CALL demo_apply_map('stock_transfer_record', 'startLocation', '_demo_map_loc');
- CALL demo_apply_map('stock_transfer_record', 'targetLocation', '_demo_map_loc');
- CALL demo_apply_map('pick_execution_issue', 'store_location', '_demo_map_loc');
-
- UPDATE items
- SET warehouse = NULL, area = NULL, slot = NULL;
-
- UPDATE warehouse
- SET `order` = CASE
- WHEN `order` REGEXP '^2F-[0-9]+$' THEN CONCAT('AF-', SUBSTRING(`order`, 4))
- WHEN `order` REGEXP '^4F-[0-9]+$' THEN CONCAT('BF-', SUBSTRING(`order`, 4))
- WHEN `order` REGEXP '^1F-[0-9]+$' THEN CONCAT('CF-', SUBSTRING(`order`, 4))
- WHEN `order` REGEXP '^3F-[0-9]+$' THEN CONCAT('DF-', SUBSTRING(`order`, 4))
- ELSE `order`
- END;
-
- CALL demo_apply_map('truck', 'TruckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('truck_lane_version', 'truckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('truck_lane_version_line', 'truckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('truck_lane_schedule_line', 'fromTruckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('truck_lane_schedule_line', 'toTruckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('delivery_order_pick_order', 'truckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('do_pick_order', 'TruckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('do_pick_order_record', 'TruckLanceCode', '_demo_map_truck');
- CALL demo_apply_map('do_replenishment', 'truckLaneCode', '_demo_map_truck');
-
- CALL demo_apply_map('delivery_order', 'code', '_demo_map_do');
- CALL demo_apply_map('do_pick_order', 'delivery_order_code', '_demo_map_do');
- CALL demo_apply_map('do_pick_order_record', 'delivery_order_code', '_demo_map_do');
- CALL demo_apply_map('do_pick_order_line', 'delivery_order_code', '_demo_map_do');
- CALL demo_apply_map('do_pick_order_line_record', 'delivery_order_code', '_demo_map_do');
- CALL demo_apply_map('stock_out', 'deliveryOrderCode', '_demo_map_do');
- CALL demo_apply_map('do_replenishment', 'sourceDoCode', '_demo_map_do');
- CALL demo_apply_map('do_replenishment', 'targetDoCode', '_demo_map_do');
-
- CALL demo_apply_map('purchase_order', 'code', '_demo_map_po');
- CALL demo_apply_map('job_order', 'code', '_demo_map_jo');
- CALL demo_apply_map('jo_pick_order', 'jobOrderCode', '_demo_map_jo');
- CALL demo_apply_map('jo_pick_order_record', 'jobOrderCode', '_demo_map_jo');
- CALL demo_apply_map('jo_bag_consumption', 'jobOrderCode', '_demo_map_jo');
-
- CALL demo_apply_map('pick_order', 'code', '_demo_map_pk');
- CALL demo_apply_map('do_pick_order', 'pick_order_code', '_demo_map_pk');
- CALL demo_apply_map('do_pick_order_record', 'pick_order_code', '_demo_map_pk');
- CALL demo_apply_map('do_pick_order_line', 'pick_order_code', '_demo_map_pk');
- CALL demo_apply_map('do_pick_order_line_record', 'pick_order_code', '_demo_map_pk');
- CALL demo_apply_map('jo_pick_order', 'pickOrderCode', '_demo_map_pk');
- CALL demo_apply_map('jo_pick_order_record', 'pickOrderCode', '_demo_map_pk');
- CALL demo_apply_map('pick_execution_issue', 'pick_order_code', '_demo_map_pk');
- CALL demo_apply_map('stock_out', 'consoPickOrderCode', '_demo_map_pk');
-
- CALL demo_apply_map('stock_in', 'code', '_demo_map_si');
- CALL demo_apply_map('stock_take', 'code', '_demo_map_st');
- CALL demo_apply_map('productprocess', 'productprocesscode', '_demo_map_pp');
-
- UPDATE pick_order
- SET consoCode = CONCAT('CS-', id)
- WHERE consoCode IS NOT NULL AND consoCode <> '';
-
- UPDATE do_replenishment
- SET code = CONCAT('DR-', id)
- WHERE code IS NOT NULL AND code <> '';
-
- UPDATE do_pick_order_record
- SET deliveryNoteCode = CONCAT('DN-', id)
- WHERE deliveryNoteCode IS NOT NULL AND deliveryNoteCode <> '';
-
- UPDATE delivery_order_pick_order
- SET deliveryNoteCode = CONCAT('DN-P', id)
- WHERE deliveryNoteCode IS NOT NULL AND deliveryNoteCode <> '';
-
- CALL demo_exec_if_table('purchase_quotation',
- 'UPDATE purchase_quotation SET code = CONCAT(''PQ-'', id) WHERE code IS NOT NULL');
- CALL demo_exec_if_table('purchase_quotation_line',
- 'UPDATE purchase_quotation_line SET code = CONCAT(''PQL-'', id) WHERE code IS NOT NULL');
-
- UPDATE bom
- SET code = CONCAT('BOM-', id),
- name = CONCAT('Bom ', id),
- description = CONCAT('Bom ', id);
-
- CALL demo_exec_if_table('company',
- 'UPDATE company SET code = CONCAT(''CO-'', id), name = CONCAT(''Company '', id), brNo = '''', contactNo = '''', email = '''', addr1 = '''', addr2 = '''', addr3 = '''', addr4 = ''''');
- CALL demo_exec_if_table('process',
- 'UPDATE `process` SET code = CONCAT(''PROC-'', id), name = LEFT(CONCAT(''Process '', id), 30), description = LEFT(CONCAT(''Process '', id), 30), remarks = ''''');
- CALL demo_exec_if_table('equipment',
- 'UPDATE equipment SET code = CONCAT(''EQ-'', id), name = LEFT(CONCAT(''Equip '', id), 30), description = CONCAT(''Equip '', id)');
- CALL demo_apply_map('equipment_detail', 'equipmentCode', '_demo_map_equip');
- CALL demo_exec_if_table('equipment_detail',
- 'UPDATE equipment_detail SET code = CONCAT(''EQD-'', id), name = CONCAT(''Equip '', id), repairAndMaintenanceRemarks = ''''');
- CALL demo_exec_if_table('item_category',
- 'UPDATE item_category SET code = CONCAT(''CAT-'', id), parent = '''', sub = ''''');
- CALL demo_exec_if_table('qc_item',
- 'UPDATE qc_item SET code = CONCAT(''QC-'', id), name = CONCAT(''Qc '', id), description = ''''');
- CALL demo_exec_if_table('qc_category',
- 'UPDATE qc_category SET code = CONCAT(''QCC-'', id), name = CONCAT(''Qc '', id), description = CONCAT(''Qc '', id)');
- CALL demo_exec_if_table('pick_order_group',
- 'UPDATE pick_order_group SET name = CONCAT(''POG-'', id)');
- CALL demo_exec_if_table('printer',
- 'UPDATE printer SET code = CONCAT(''PRINTER-'', id), name = CASE name WHEN ''Label機 2F A+B'' THEN ''LABEL-A'' WHEN ''Label機 4F 乾貨 C, D'' THEN ''LABEL-B'' ELSE CONCAT(''Printer '', id) END, description = '''', brand = '''', ip = ''''');
- CALL demo_exec_if_table('logistic',
- 'UPDATE logistic SET logisticName = CONCAT(''Logistic '', id), carPlate = CONCAT(''PLATE-'', id), driverName = CONCAT(''Driver '', id), driverNumber = id');
- CALL demo_exec_if_table('group',
- 'UPDATE `group` SET name = CONCAT(''~g'', id)');
- CALL demo_exec_if_table('group',
- 'UPDATE `group` SET name = CONCAT(''GROUP-'', id), description = ''''');
-
- CALL demo_exec_if_table('onpack_template_file',
- 'UPDATE onpack_template_file SET fileName = CONCAT(''file-'', id)');
- CALL demo_exec_if_table('onpack_expiry_item_code',
- 'UPDATE onpack_expiry_item_code SET printName = itemCode');
-
- CALL demo_exec_if_table('m18_data_log',
- 'UPDATE m18_data_log SET dataLog = JSON_OBJECT()');
- CALL demo_exec_if_table('grn_send_log',
- 'UPDATE grn_send_log SET data = JSON_OBJECT()');
- CALL demo_exec_if_table('m18_goods_receipt_note_log',
- 'UPDATE m18_goods_receipt_note_log SET grn_code = CONCAT(''GRN-'', id)');
- CALL demo_exec_if_table('mail_template',
- 'UPDATE mail_template SET `to` = '''', cc = '''', description = CONCAT(''Template '', id), subjectCht = '''', subjectEng = '''', contentCht = '''', contentEng = ''''');
- CALL demo_exec_if_table('mail_send_log',
- 'UPDATE mail_send_log SET senderMail = '''', subject = '''', content = '''', tempDesc = ''Mail'', errorMessage = ''''');
- CALL demo_exec_if_table('mail_send_log_line',
- 'UPDATE mail_send_log_line SET toMail = '''', errorMessage = ''''');
-
- CALL demo_apply_map('item_lot_trace_log', 'username', '_demo_map_username');
- CALL demo_apply_map('stocktakerecord', 'createdBy', '_demo_map_username');
- CALL demo_apply_map('pick_execution_issue', 'createdBy', '_demo_map_username');
- CALL demo_apply_map('pick_execution_issue', 'modifiedBy', '_demo_map_username');
- CALL demo_apply_map('pick_execution_issue', 'handled_by', '_demo_map_username');
- CALL demo_apply_map('do_pick_order', 'createdBy', '_demo_map_username');
- CALL demo_apply_map('do_pick_order', 'modifiedBy', '_demo_map_username');
- CALL demo_apply_map('do_pick_order_record', 'createdBy', '_demo_map_username');
- CALL demo_apply_map('do_pick_order_record', 'modifiedBy', '_demo_map_username');
- CALL demo_apply_map('delivery_order_pick_order', 'createdBy', '_demo_map_username');
- CALL demo_apply_map('delivery_order_pick_order', 'modifiedBy', '_demo_map_username');
-
- CALL demo_apply_map('stocktakerecord', 'approverName', '_demo_map_person');
- CALL demo_apply_map('stocktakerecord', 'stockTakerName', '_demo_map_person');
- CALL demo_apply_map('do_pick_order', 'handler_name', '_demo_map_person');
- CALL demo_apply_map('do_pick_order_record', 'handler_name', '_demo_map_person');
- CALL demo_apply_map('delivery_order_pick_order', 'handlerName', '_demo_map_person');
- CALL demo_apply_map('pick_execution_issue', 'picker_name', '_demo_map_person');
- CALL demo_exec_if_table('pick_execution_issue',
- 'UPDATE pick_execution_issue SET item_description = ''''');
-
- UPDATE `user` u
- JOIN _demo_map_user m ON m.user_id = u.id
- SET u.username = CONCAT('~u', u.id);
-
- UPDATE `user` u
- JOIN _demo_map_user m ON m.user_id = u.id
- SET u.username = m.new_username,
- u.password = pwd_hash,
- u.name = m.new_name,
- u.fullname = m.new_name,
- u.firstname = 'User',
- u.lastname = CAST(u.id AS CHAR),
- u.email = CASE m.new_username
- WHEN 'demo' THEN '[email protected]'
- WHEN 'demo.stock' THEN '[email protected]'
- WHEN 'demo.prod' THEN '[email protected]'
- ELSE CONCAT('user', u.id, '@example.com')
- END,
- u.phone1 = '',
- u.phone2 = '',
- u.department = '',
- u.title = '',
- u.remarks = '',
- u.staffNo = '';
-
- CALL demo_blank_columns();
-
- UPDATE settings SET name = 'DO.floor.suppliers.AF' WHERE name = 'DO.floor.suppliers.2F';
- UPDATE settings SET name = 'DO.floor.suppliers.BF' WHERE name = 'DO.floor.suppliers.4F';
- CALL demo_remap_shop_csv('DO.floor.suppliers.AF');
- CALL demo_remap_shop_csv('DO.floor.suppliers.BF');
-
- UPDATE settings
- SET value = ''
- WHERE name IN (
- 'LASER_PRINT.host',
- 'LASER_PRINT.itemCodes',
- 'LASER_PRINT.lastReceiveSuccess'
- )
- OR name LIKE 'MAIL.smtp.%'
- OR name LIKE 'REPORT.dailyMaint.recipients%';
-
- CALL demo_replace_floors();
-
- INSERT INTO settings (name, value, category, type)
- VALUES ('DEMO.anonymized.v1', '1', 'DEMO', 'string');
-
- COMMIT;
- CALL demo_drop_maps();
- END$$
-
- DELIMITER ;
-
- CALL anonymize_demo_copy();
-
- DROP PROCEDURE IF EXISTS demo_exec_if_table;
- DROP PROCEDURE IF EXISTS demo_apply_map;
- DROP PROCEDURE IF EXISTS demo_apply_pair;
- DROP PROCEDURE IF EXISTS demo_add_missing;
- DROP PROCEDURE IF EXISTS demo_blank_columns;
- DROP PROCEDURE IF EXISTS demo_replace_floors;
- DROP PROCEDURE IF EXISTS demo_remap_shop_csv;
- DROP PROCEDURE IF EXISTS demo_drop_maps;
- DROP PROCEDURE IF EXISTS anonymize_demo_copy;
-
- SELECT name, value FROM settings WHERE name = 'DEMO.anonymized.v1';
|