From 3ead87206a16386e6a45e079a83d7164b78b93e6 Mon Sep 17 00:00:00 2001 From: lili Date: Sun, 28 Jun 2026 08:27:22 -0700 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E5=9B=BA=E5=AE=9Amini=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E8=BF=81=E7=A7=BB=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/memorys/2026-06-28-mini部署迁移.md | 16 ++++++++++++++++ scripts/deploy/mini-desktop/start-backend.sh | 3 +++ 2 files changed, 19 insertions(+) create mode 100644 docs/memorys/2026-06-28-mini部署迁移.md diff --git a/docs/memorys/2026-06-28-mini部署迁移.md b/docs/memorys/2026-06-28-mini部署迁移.md new file mode 100644 index 00000000..722ee3d9 --- /dev/null +++ b/docs/memorys/2026-06-28-mini部署迁移.md @@ -0,0 +1,16 @@ +# mini-desktop 部署迁移注意 + +## 结论 + +mini-desktop 的 `muse-server` 运行包只包含 jar 不够。后端 Flyway 配置包含 `filesystem:sql/muse`,部署时必须同步 `muse-cloud/sql/muse/` 到 `/opt/muse-rc1/sql/muse/`,否则新增迁移不会被远端扫描到。 + +## 证据 + +- 2026-06-28 部署完整导入向导后,后端首次启动成功,但日志显示 `Current version of schema "public": 33` 和 `Skipping filesystem location: sql/muse (not found)`,V34 未执行。 +- 补传 `/opt/muse-rc1/sql/muse/V34__create_ai_import_parse_tables.sql` 并固定启动工作目录后,重启日志显示 `Migrating schema "public" to version "34 - create ai import parse tables"`,随后 `Successfully applied 1 migration ... now at version v34`。 + +## 规则 + +- 部署包应包含:`backend/muse-server.jar`、`studio/dist`、`admin/dist`、`bin/*`、`sql/muse/*`。 +- `scripts/deploy/mini-desktop/start-backend.sh` 必须在启动 Java 前 `cd "${ROOT}"`,确保相对路径 `filesystem:sql/muse` 指向部署目录。 +- smoke 不能只看端口和 401/200,还要 grep Flyway 日志,确认目标迁移版本已应用。 diff --git a/scripts/deploy/mini-desktop/start-backend.sh b/scripts/deploy/mini-desktop/start-backend.sh index 08ee5d29..bf823cc3 100644 --- a/scripts/deploy/mini-desktop/start-backend.sh +++ b/scripts/deploy/mini-desktop/start-backend.sh @@ -29,6 +29,9 @@ export MUSE_POSTGRES_USERNAME="${MUSE_POSTGRES_USERNAME:-root}" export MUSE_REDIS_HOST="${MUSE_REDIS_HOST:-127.0.0.1}" export MUSE_REDIS_PORT="${MUSE_REDIS_PORT:-6379}" +# Flyway 配置包含 filesystem:sql/muse;固定工作目录,避免从 /root 等目录启动时漏扫部署内迁移。 +cd "${ROOT}" + exec /usr/lib/jvm/java-21-openjdk-amd64/bin/java \ -Xms512m -Xmx2g \ -Dhttp.proxyHost= \