Add seed data for 2025 summer school schedule

Drop unused KeyOutlined import and refactor init.sql to drop all tables
safely
This commit is contained in:
2026-07-24 15:28:19 +08:00
parent f53934c67d
commit 525bbd1a56
2 changed files with 39 additions and 5 deletions

View File

@@ -21,7 +21,6 @@ import {
ApiOutlined,
CheckCircleOutlined,
CloseCircleOutlined,
KeyOutlined,
WarningOutlined,
ReloadOutlined,
CloudServerOutlined,

View File

@@ -1,12 +1,47 @@
-- gongxue-base MySQL full rebuild script
-- Generated from the current TypeORM migrations on 2026-07-24.
-- WARNING: this script intentionally drops dorm_billing_v2 and all data in it.
-- WARNING: this script intentionally drops every table in dorm_billing_v2 and rebuilds the schema.
-- The database itself is preserved for environments without DROP/CREATE DATABASE privileges.
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP DATABASE IF EXISTS `dorm_billing_v2`;
CREATE DATABASE `dorm_billing_v2` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `dorm_billing_v2`;
SET FOREIGN_KEY_CHECKS = 0;
DROP PROCEDURE IF EXISTS `drop_all_tables`;
DELIMITER $$
CREATE PROCEDURE `drop_all_tables`()
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE current_table VARCHAR(255);
DECLARE table_cursor CURSOR FOR
SELECT `table_name`
FROM `information_schema`.`tables`
WHERE `table_schema` = DATABASE()
AND `table_type` = 'BASE TABLE';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
OPEN table_cursor;
drop_loop: LOOP
FETCH table_cursor INTO current_table;
IF finished = 1 THEN
LEAVE drop_loop;
END IF;
SET @drop_table_sql = CONCAT(
'DROP TABLE IF EXISTS `',
REPLACE(current_table, '`', '``'),
'`'
);
PREPARE drop_statement FROM @drop_table_sql;
EXECUTE drop_statement;
DEALLOCATE PREPARE drop_statement;
END LOOP;
CLOSE table_cursor;
END$$
DELIMITER ;
CALL `drop_all_tables`();
DROP PROCEDURE IF EXISTS `drop_all_tables`;
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE `wallet_transactions` (`id` int NOT NULL AUTO_INCREMENT, `student_id` int NOT NULL, `bill_id` int NULL, `operation_id` varchar(64) NULL, `type` varchar(30) NOT NULL, `amount` decimal(12,2) NOT NULL, `balance_after` decimal(12,2) NOT NULL, `description` varchar(300) NULL, `recorded_by` int NULL, `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), INDEX `IDX_680bbd0275ac5e06c179f9b84c` (`student_id`, `created_at`), PRIMARY KEY (`id`)) ENGINE=InnoDB;