From f023417aed84b7270da0b0c54cfc71bc40636dd2 Mon Sep 17 00:00:00 2001 From: let5sne Date: Thu, 23 Jul 2026 09:43:22 +0800 Subject: [PATCH] chore(release): verify personal assistant schema --- scripts/release-preflight.sh | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/scripts/release-preflight.sh b/scripts/release-preflight.sh index 31a4ab59..76aa6c54 100755 --- a/scripts/release-preflight.sh +++ b/scripts/release-preflight.sh @@ -165,6 +165,16 @@ FROM ( UNION ALL SELECT 'aihr_broadcast_message' UNION ALL SELECT 'aihr_broadcast_read' UNION ALL SELECT 'aihr_broadcast_version' + UNION ALL SELECT 'aihr_personal_space' + UNION ALL SELECT 'aihr_personal_item' + UNION ALL SELECT 'aihr_personal_fragment' + UNION ALL SELECT 'aihr_personal_chat_session' + UNION ALL SELECT 'aihr_personal_chat_message' + UNION ALL SELECT 'aihr_personal_cleanup_job' + UNION ALL SELECT 'aihr_personal_ocr_job' + UNION ALL SELECT 'aihr_personal_ocr_page' + UNION ALL SELECT 'aihr_personal_export_task' + UNION ALL SELECT 'aihr_personal_publish_request' ) required LEFT JOIN information_schema.tables actual ON actual.table_schema = DATABASE() AND actual.table_name = required.table_name @@ -175,6 +185,23 @@ REMOTE )" || fail "remote schema check failed: $remote_ssh:$remote_db" [[ -z "$missing" ]] || fail "remote schema missing required tables: $(printf '%s' "$missing" | tr '\n' ', ' | sed 's/, $//')" + local personal_oss_config + personal_oss_config="$(ssh -o BatchMode=yes -o ConnectTimeout=10 "$remote_ssh" bash -s -- "$remote_db" <<'REMOTE' +set -euo pipefail +db="$1" +mysql --batch --skip-column-names --connect-timeout=5 "$db" <<'SQL' +SELECT CONCAT( + bucket_name, '|', access_policy, '|', status, '|', + CASE WHEN access_key <> '' AND secret_key <> '' THEN 'configured' ELSE 'credentials-missing' END +) +FROM sys_oss_config +WHERE tenant_id = '000000' AND config_key = 'personal-minio'; +SQL +REMOTE + )" || fail "remote personal OSS configuration check failed: $remote_ssh:$remote_db" + + [[ "$personal_oss_config" = "ruoyi-personal|0|1|configured" ]] \ + || fail "remote personal OSS configuration is invalid: expected private ruoyi-personal configuration; got ${personal_oss_config:-missing}" local missing_work_report_columns missing_work_report_columns="$(ssh -o BatchMode=yes -o ConnectTimeout=10 "$remote_ssh" bash -s -- "$remote_db" <<'REMOTE' set -euo pipefail @@ -395,7 +422,7 @@ REMOTE [[ -z "$missing_work_assistant_columns" ]] \ || fail "remote work-assistant schema missing required columns: $(printf '%s' "$missing_work_assistant_columns" | tr '\n' ', ' | sed 's/, $//')" - echo "remote_schema=47/47 $remote_ssh:$remote_db" + echo "remote_schema=57/57 $remote_ssh:$remote_db" echo "remote_work_report_idempotency=3/3 $remote_ssh:$remote_db" echo "remote_knowledge_category_columns=7/7 $remote_ssh:$remote_db" echo "remote_broadcast_publish_audit_columns=3/3 $remote_ssh:$remote_db" @@ -404,6 +431,7 @@ REMOTE echo "remote_broadcast_version_uniqueness=3/3 $remote_ssh:$remote_db" echo "remote_broadcast_question_context=1/1 $remote_ssh:$remote_db" echo "remote_work_assistant_columns=8/8 $remote_ssh:$remote_db" + echo "remote_personal_oss_configuration=true $remote_ssh:$remote_db" } changed_files="$(git status --porcelain)"