9e080b175c
Co-Authored-By: Claude Code <noreply@anthropic.com>
43 lines
2.2 KiB
Bash
43 lines
2.2 KiB
Bash
#!/bin/bash
|
||
# SuperLink 首次初始化:种子超管角色 + 管理员账号 + 迁移版本标记
|
||
# 采用 .sh + heredoc 方式执行(不用 .sql):
|
||
# MySQL 官方 image 的 entrypoint 处理 .sql 型 init 文件时在 set -u 下会触发
|
||
# "line 249: $1: unbound variable" 而静默失败;.sh 型文件则稳定无误。
|
||
# 管理员账号:admin / Admin@123456(bcrypt,建议首次登录后立即修改)
|
||
set -euo pipefail
|
||
|
||
mysql --user=root --password="${MYSQL_ROOT_PASSWORD}" --default-character-set=utf8mb4 "${MYSQL_DATABASE}" <<'EOSQL'
|
||
-- 1) 超级管理员角色:权限 = 全部业务模块(与前端菜单标识一致)
|
||
INSERT INTO `system_roles` (`role_name`, `permissions`, `is_active`)
|
||
SELECT '超级管理员', '["dashboard","company","person","media","need","marketing","channel","document","preliminary","system","log"]', 1
|
||
FROM DUAL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `system_roles` WHERE `role_name` = '超级管理员');
|
||
|
||
-- 2) 管理员账号(bcrypt,Admin@123456)
|
||
INSERT INTO `system_users` (`username`, `password`, `real_name`, `role_id`, `is_active`)
|
||
SELECT 'admin',
|
||
'$2y$10$1nNvyQx/fVtrPHOkFTUwV.HNbWFkea75Cx3ICil.9BnoJpCrSAeCm',
|
||
'管理员',
|
||
(SELECT `id` FROM `system_roles` WHERE `role_name` = '超级管理员' LIMIT 1),
|
||
1
|
||
FROM DUAL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `system_users` WHERE `username` = 'admin');
|
||
|
||
-- 3) 迁移版本标记(version 去掉 migration_ 前缀,checksum = 迁移文件 md5)
|
||
INSERT INTO `schema_versions` (`version`, `checksum`) VALUES
|
||
('v1.0.16','73e9594d7ab151791c4ba315e5e87156'),
|
||
('v1.0.18','cdfd4eb98e92047c2aa35325908e6f2e'),
|
||
('v1.0.20','860b09d92e810620b3bd71d126833611'),
|
||
('v1.0.25','c6b545a9dfe0bff7aad8b94849785135'),
|
||
('v1.0.27','f1db249ac23697a4981559436306f542'),
|
||
('v1.0.30','8faa7dccea9c361d0b8fe4e0c11384f3'),
|
||
('v1.0.40','70b9cedf240555bca58f46148c0d380e'),
|
||
('v1.0.41','247b6bc7718b9f1d7d5ea28ed9b8a3e2'),
|
||
('v1.0.47','10b64a2551e7eb8f1f5bdc8e87c6c06a'),
|
||
('v1.0.48','f507f2964d9bf7f8c885d69119c6d041'),
|
||
('v1.0.50','edaa2a71a4adf716591ece61ed9fc09f'),
|
||
('v1.0.51','3251bf0bca9236e201dc419770f7f5dc')
|
||
ON DUPLICATE KEY UPDATE `checksum` = VALUES(`checksum`);
|
||
EOSQL
|
||
|
||
echo ">> SuperLink init: admin + roles + versions seeded" |