46 lines
1.6 KiB
SQL
46 lines
1.6 KiB
SQL
-- 设置字符集和排序规则
|
||
SET NAMES utf8mb4;
|
||
SET GLOBAL time_zone = '+8:00';
|
||
|
||
-- 创建数据库(如果不存在)
|
||
CREATE DATABASE IF NOT EXISTS ai_dressing CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
||
-- 确保使用正确的数据库
|
||
USE ai_dressing;
|
||
|
||
-- 创建用户(如果不存在)
|
||
-- 注意:在Docker环境中,这些通常由MYSQL_USER和MYSQL_PASSWORD环境变量处理
|
||
-- 此处作为备用,确保权限正确设置
|
||
CREATE USER IF NOT EXISTS 'ai_user'@'%' IDENTIFIED BY 'yourpassword';
|
||
GRANT ALL PRIVILEGES ON ai_dressing.* TO 'ai_user'@'%';
|
||
FLUSH PRIVILEGES;
|
||
|
||
-- 设置必要的MySQL配置
|
||
SET GLOBAL max_connections = 500;
|
||
SET GLOBAL connect_timeout = 60;
|
||
SET GLOBAL wait_timeout = 600;
|
||
SET GLOBAL interactive_timeout = 600;
|
||
SET GLOBAL max_allowed_packet = 16777216; -- 16MB
|
||
|
||
-- 创建一个测试表,验证初始化是否成功
|
||
CREATE TABLE IF NOT EXISTS `system_info` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`key` varchar(50) NOT NULL,
|
||
`value` text NOT NULL,
|
||
`description` varchar(255) DEFAULT NULL,
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `key` (`key`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
||
-- 插入初始数据
|
||
INSERT INTO `system_info` (`key`, `value`, `description`)
|
||
VALUES
|
||
('system_name', 'AI Dressing System', '系统名称'),
|
||
('version', '1.0.0', '系统版本'),
|
||
('init_date', CURRENT_TIMESTAMP, '系统初始化日期')
|
||
ON DUPLICATE KEY UPDATE
|
||
`value` = VALUES(`value`),
|
||
`description` = VALUES(`description`),
|
||
`updated_at` = CURRENT_TIMESTAMP; |