You've already forked Arcturus-Morningstar-Extended
mirror of
https://github.com/duckietm/Arcturus-Morningstar-Extended.git
synced 2026-06-19 15:06:19 +00:00
69 lines
2.7 KiB
SQL
69 lines
2.7 KiB
SQL
-- 020_furnidata_edit_log.sql
|
|
-- Audit trail for furnidata name/description edits made through the furni editor,
|
|
-- plus config keys for the editor write path. NOTE: *.enabled keys elsewhere are
|
|
-- read via Boolean.parseBoolean (true/false), but these two are numeric.
|
|
CREATE TABLE IF NOT EXISTS `furnidata_edit_log` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(11) NOT NULL,
|
|
`classname` varchar(255) NOT NULL,
|
|
`action` enum('edit','revert') NOT NULL DEFAULT 'edit',
|
|
`old_name` varchar(256) NOT NULL DEFAULT '',
|
|
`new_name` varchar(256) NOT NULL DEFAULT '',
|
|
`old_description` varchar(256) NOT NULL DEFAULT '',
|
|
`new_description` varchar(256) NOT NULL DEFAULT '',
|
|
`timestamp` int(11) NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (`id`),
|
|
INDEX `idx_classname` (`classname`),
|
|
INDEX `idx_user` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
INSERT IGNORE INTO `emulator_settings` (`key`,`value`) VALUES
|
|
('items.furnidata.edit.backup.keep','10'),
|
|
('items.furnidata.edit.ratelimit.ms','2000'),
|
|
-- Server-authoritative furni names (source of truth = furnidata JSON)
|
|
('items.furnidata.names.enabled','true'),
|
|
('items.furnidata.path',''),
|
|
('items.furnidata.max.bytes','67108864'),
|
|
-- Live-reload watcher
|
|
('items.furnidata.watch.enabled','true'),
|
|
('items.furnidata.watch.debounce.ms','750'),
|
|
('items.furnidata.watch.min.interval.ms','5000'),
|
|
('items.furnidata.delta.cap','500'),
|
|
-- Furni editor: import official names/descriptions from Habbo
|
|
('furni.editor.import.url','https://www.habbo.com/gamedata/furnidata_json/1'),
|
|
('furni.editor.import.cache.ms','600000');
|
|
|
|
START TRANSACTION;
|
|
DROP TEMPORARY TABLE IF EXISTS cleanup_furnidata_settings;
|
|
CREATE TEMPORARY TABLE cleanup_furnidata_settings (
|
|
`key` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL PRIMARY KEY
|
|
);
|
|
INSERT INTO cleanup_furnidata_settings (`key`) VALUES
|
|
('items.furnidata.names.enabled'),
|
|
('items.furnidata.path'),
|
|
('items.furnidata.max.bytes'),
|
|
('items.furnidata.watch.enabled'),
|
|
('items.furnidata.watch.debounce.ms'),
|
|
('items.furnidata.watch.min.interval.ms'),
|
|
('items.furnidata.delta.cap'),
|
|
('furni.editor.import.url'),
|
|
('furni.editor.import.cache.ms');
|
|
|
|
-- Preview rows that will be removed.
|
|
SELECT es.`key`, es.`value`
|
|
FROM emulator_settings es
|
|
JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`
|
|
ORDER BY es.`key`;
|
|
|
|
DELETE es
|
|
FROM emulator_settings es
|
|
JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`;
|
|
|
|
-- Preview remaining matching rows inside the transaction.
|
|
SELECT COUNT(*) AS remaining_furnidata_settings
|
|
FROM emulator_settings es
|
|
JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`;
|
|
|
|
-- Safe default. Change to COMMIT after reviewing the preview.
|
|
ROLLBACK;
|