fix: bricks dist mkdir+产物校验;种子脚本(机构/角色/权限/超管);rbac/appbase软链;config database→db
This commit is contained in:
parent
604cffd897
commit
4b183aa7fc
14
build.sh
14
build.sh
@ -66,18 +66,24 @@ for m in ${FOUNDATION_PKGS} ${BUSINESS_MODULES}; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "==> [3/9] bricks frontend build + symlink"
|
echo "==> [3/9] bricks frontend build + symlink"
|
||||||
|
# dist/ 不入 git(gitignore),clone 后必须本地构建;内层 build.sh 用 cat 拼接,无需 node
|
||||||
|
mkdir -p pkgs/bricks/dist
|
||||||
if [ ! -f "pkgs/bricks/dist/bricks.js" ]; then
|
if [ ! -f "pkgs/bricks/dist/bricks.js" ]; then
|
||||||
(cd pkgs/bricks/bricks && bash build.sh) || { echo "ERROR: bricks build failed" >&2; exit 1; }
|
(cd pkgs/bricks/bricks && bash build.sh) || { echo "ERROR: bricks build failed" >&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
[ -s "pkgs/bricks/dist/bricks.js" ] || { echo "ERROR: bricks.js missing/empty after build" >&2; exit 1; }
|
||||||
mkdir -p wwwroot
|
mkdir -p wwwroot
|
||||||
ln -sfn "../pkgs/bricks/dist" "wwwroot/bricks"
|
ln -sfn "../pkgs/bricks/dist" "wwwroot/bricks"
|
||||||
|
|
||||||
echo "==> [4/9] database + foundation/initial tables"
|
echo "==> [4/9] database + foundation/initial tables + seed"
|
||||||
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" \
|
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" \
|
||||||
-e "CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" \
|
-e "CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" \
|
||||||
|| { echo "ERROR: create database failed" >&2; exit 1; }
|
|| { echo "ERROR: create database failed" >&2; exit 1; }
|
||||||
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" "${DB_NAME}" \
|
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" "${DB_NAME}" \
|
||||||
< "${APP_SRC_DIR}/scripts/ddl.sql" || { echo "ERROR: ddl.sql failed" >&2; exit 1; }
|
< "${APP_SRC_DIR}/scripts/ddl.sql" || { echo "ERROR: ddl.sql failed" >&2; exit 1; }
|
||||||
|
# 种子:默认机构/角色/权限/超管(全新库无此数据则一切请求 401)
|
||||||
|
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" "${DB_NAME}" \
|
||||||
|
< "${APP_SRC_DIR}/scripts/seed.sql" || { echo "ERROR: seed.sql failed" >&2; exit 1; }
|
||||||
|
|
||||||
echo "==> [5/9] i18n merge"
|
echo "==> [5/9] i18n merge"
|
||||||
mkdir -p wwwroot/i18n/zh wwwroot/i18n/en
|
mkdir -p wwwroot/i18n/zh wwwroot/i18n/en
|
||||||
@ -119,6 +125,12 @@ for m in ${BUSINESS_MODULES}; do
|
|||||||
|| { echo "ERROR: ${m} dbloader failed" >&2; exit 1; }
|
|| { echo "ERROR: ${m} dbloader failed" >&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
# 基础模块的 wwwroot 也要软链(rbac 登录页、appbase 页面),否则登录页 404
|
||||||
|
for m in appbase rbac; do
|
||||||
|
if [ -d "pkgs/${m}/wwwroot" ]; then
|
||||||
|
ln -sfn "../pkgs/${m}/wwwroot" "wwwroot/${m}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo "==> [7/9] sync app code + runtime dirs"
|
echo "==> [7/9] sync app code + runtime dirs"
|
||||||
for d in app conf scripts wwwroot; do
|
for d in app conf scripts wwwroot; do
|
||||||
|
|||||||
@ -19,8 +19,8 @@
|
|||||||
"port": 3306,
|
"port": 3306,
|
||||||
"user": "test",
|
"user": "test",
|
||||||
"password": "Kj2wTl+LYpPtDSk3B01U7w==",
|
"password": "Kj2wTl+LYpPtDSk3B01U7w==",
|
||||||
"database": "scense",
|
"charset": "utf8mb4",
|
||||||
"charset": "utf8mb4"
|
"db": "scense"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
53
scripts/seed.sql
Normal file
53
scripts/seed.sql
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
-- =============================================================================
|
||||||
|
-- scense 初始化种子数据(全新库必备)
|
||||||
|
-- ddl.sql 只建表结构;本脚本种入:默认机构 / 角色 / 权限 / 超管。
|
||||||
|
-- 幂等:全部 INSERT IGNORE,重跑不重复。
|
||||||
|
-- =============================================================================
|
||||||
|
USE scense;
|
||||||
|
|
||||||
|
-- ── 默认机构(平台自身,org_type=owner)──
|
||||||
|
INSERT IGNORE INTO organization (id, orgname, alias_name, org_type, parentid, del_flg)
|
||||||
|
VALUES ('0', '唤景平台', 'scense', 'owner', NULL, '0');
|
||||||
|
|
||||||
|
-- ── 内置角色 ──
|
||||||
|
-- any/anonymous:匿名访问;logined:登录态;owner.superuser:超级管理员
|
||||||
|
INSERT IGNORE INTO role (id, orgtypeid, role, rolelabel, name) VALUES
|
||||||
|
('any', '0', 'any', 'Anonymous', 'any'),
|
||||||
|
('anonymous', '0', NULL, NULL, NULL),
|
||||||
|
('logined', '0', NULL, NULL, NULL),
|
||||||
|
('owner.superuser','0', 'superuser', '超级管理员', 'superuser');
|
||||||
|
|
||||||
|
-- ── 权限(permission)──
|
||||||
|
-- any:健康检查 + 登录页所需静态资源/登录端点(否则连登录页都打不开)
|
||||||
|
-- owner.superuser:/** 全放行
|
||||||
|
INSERT IGNORE INTO permission (id, name, ptype, path, title) VALUES
|
||||||
|
('perm-healthz', 'healthz', 'url', '/healthz', '健康检查'),
|
||||||
|
('perm-any-bricks', 'bricks', 'url', '/bricks/**', 'bricks 前端资源'),
|
||||||
|
('perm-any-i18n', 'i18n', 'url', '/i18n/**', 'i18n 资源'),
|
||||||
|
('perm-any-index', 'index', 'url', '/index.ui', '入口页'),
|
||||||
|
('perm-any-root', 'root', 'url', '/', '根路径'),
|
||||||
|
('perm-any-uplogin', 'up_login', 'url', '/rbac/user/up_login.dspy','账号密码登录'),
|
||||||
|
('perm-any-loginui', 'login_ui', 'url', '/rbac/user/login.ui', '登录页'),
|
||||||
|
('perm-super-all', 'all', 'url', '/**', '超级管理员全放行');
|
||||||
|
|
||||||
|
-- ── 角色-权限绑定(rolepermission)──
|
||||||
|
INSERT IGNORE INTO rolepermission (id, roleid, permid) VALUES
|
||||||
|
('rp-healthz', 'any', 'perm-healthz'),
|
||||||
|
('rp-any-bricks', 'any', 'perm-any-bricks'),
|
||||||
|
('rp-any-i18n', 'any', 'perm-any-i18n'),
|
||||||
|
('rp-any-index', 'any', 'perm-any-index'),
|
||||||
|
('rp-any-root', 'any', 'perm-any-root'),
|
||||||
|
('rp-any-uplogin', 'any', 'perm-any-uplogin'),
|
||||||
|
('rp-any-loginui', 'any', 'perm-any-loginui'),
|
||||||
|
('rp-super-all', 'owner.superuser', 'perm-super-all');
|
||||||
|
|
||||||
|
-- ── 超级管理员 ──
|
||||||
|
-- 密码 Aa@123456,经 password_encode(rc4, key=scense_test_env_key) 加密
|
||||||
|
INSERT IGNORE INTO users (id, username, password, orgid, nick_name, user_status)
|
||||||
|
VALUES ('user-01', 'admin', 'QUZVcXg5V1p1STMybG5Ia2/sxzz9580bgw==', '0', 'Admin', '0');
|
||||||
|
|
||||||
|
INSERT IGNORE INTO userrole (id, userid, roleid) VALUES
|
||||||
|
('ur-admin-super', 'user-01', 'owner.superuser');
|
||||||
|
|
||||||
|
-- 提交(防 MDL 锁阻塞后续 DDL)
|
||||||
|
COMMIT;
|
||||||
Loading…
x
Reference in New Issue
Block a user