v1.0.51: 部署配套 - ①config/database.php 支持 env 注入(DB_HOST/PORT/NAME/USER/PASS/CHARSET,缺省回落本地开发);②新增sql/schema_v1.0.51_base.sql全量业务库基准schema(仓库原仅增量迁移,27表按代码反推重建,含source_channels种子);③新增deploy/容器化编排(php8.2-fpm+nginx+mysql8.0,web暴露宿主8081,DB仅内网,对齐license_server既有compose风格):Dockerfile/nginx/default.conf/mysql初始化(01导入基准+字典/02种子超管角色与admin账号及12个迁移版本标记)/.env.example;④.gitignore防护.env与运行产物. 已在服务器106.55.169.92用一次性mysql:8.0容器验证:27表+字典(3632区域/12来源渠道)+admin/超管+cert版本标记全部导入成功

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
qianqiuwanzi
2026-09-17 15:30:19 +08:00
parent c86f08c325
commit 43bd11db0b
9 changed files with 744 additions and 9 deletions
+40
View File
@@ -0,0 +1,40 @@
-- ============================================================
-- SuperLink 首次初始化:种子超管角色 + 管理员账号 + 迁移版本标记
-- 由 mysql 镜像 entrypoint 在空数据卷时执行;entrypoint 已自动 USE ${MYSQL_DATABASE}
-- 说明:
-- - base schema(v1.0.51_base) 已内建 v1.0.16→v1.0.51 的全部业务表,
-- 故在此把各迁移文件标记为"已应用",避免 tools/migrate.php up 重复执行。
-- - 管理员账号:admin / Admin@123456(bcrypt 密码,请在首次登录后立即修改)
-- ============================================================
-- 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`);