MixSpaceのアップデートとYohakuテーマの互換性に関するよくある質問Yohakuテーマの5月初めのバージョンアップデート以降、新しいバージョンのYohakuテーマはバックエンドバージョンが V12 と V13 以降のMixSpaceにのみ対応します。MixSpace V13 のバックエンドバージョンは V8.0.0 以上のバージョンのadmin管理ダッシュボードが必要です。そのため、この期間中に不注意や誤操作が原因で発生する可能性のある問題がいくつか発生する可能性があります。ここに非公式のアーカイブ記録を残します。Notev12 はメジャーアップグレードであり、データベースが MongoDB から PostgreSQL に変更されます。あなたの記事、コメント、設定などのデータは保持されますが、アップグレード中に一度データ移行を実行する必要があり、一時的なメンテナンスダウンが必要です。新しいバージョンの MixSpace は、より古いバージョンの Yohaku やあなたが使用しているフロントエンドテーマと互換性がない可能性があります。テーマの最新バージョンが MixSpace V12 をサポートすることが明示されていることを確認した上で、更新を行ってください。特記がない限り、このドキュメントの更新はMixSpaceのみに関連し、フロントエンドテーマがYohaku、Shiro、またはその他のテーマであるかどうかは関係ありません。この記事ではビジネスレベルのアップグレード手順を記録し、今回の更新に関する技術情報と公式のクロスバージョンアップグレードドキュメントは以下の通りです:v11 升级到 v12 | Mix Space从 v11 升级到 v12 的完整指南,包含 MongoDB 到 PostgreSQL 的迁移步骤mx-space.js.orgMix Space TeamPart. 1 データのバックアップWordPressや他のCMSを更新する場合と同様に、クロスバージョンやデータ構造に影響を与える更新を開始する前に、元のデータベースと現在のバージョンのプログラムをバックアップおよびアーカイブすることをお勧めします。更新に失敗した場合に迅速にロールバックして本番環境に影響を与えないようにします。以下のバックアップデータ関連コードは、MixSpaceのデプロイ方法を問いません:BASH# 进入你放 docker-compose.yml 的文件夹,或者 core 源码文件夹 cd ~/mx-space/core # 备份 MongoDB 数据 docker exec -i $(docker ps -q -f name=mongo) mongodump --archive > backup-mongo-$(date +%Y%m%d).archive # 同时打包整个数据目录(包含配置文件、图片等) tar czvf mx-space-full-backup-$(date +%Y%m%d).tar.gz ./dataバックアップが有効であることを確認してください:backup-mongo-YYYYMMDD.archive ファイルサイズは 0;mx-space-full-backup-YYYYMMDD.tar.gz に data/mx-space ディレクトリ。Part. 2 バージョンアップデート私はDockerを使用してバックエンドを一括デプロイしている(MixSpaceバックエンドと同時に管理ダッシュボードもインストール)ため、ここでは私の更新手順と注意点のみを記載します。ソースコードによるデプロイや個別デプロイの更新が必要な場合は、MixSpace公式ドキュメントを参照してください。バックエンドの停止データのバックアップ後、すぐにバックエンドを停止し、更新中に新しいデータが書き込まれて消失するのを防ぎます。注意:MixSpaceの実行を停止しても、MongoDBサービスは停止しないでください:BASHcd ~/mx-space/core # 只停业务进程,让 mongo 继续跑 docker compose stop appMongoDBが実行中であり、ホストにポートが公開されていることを確認します:BASHdocker ps | grep mongo docker port $(docker ps -q -f name=mongo) | grep 27017 # 期望看到类似 27017/tcp -> 0.0.0.0:27017期待した内容が表示されない場合は、docker-compose.yml ファイル内の該当箇所を以下のように修正します(port 設定を追加):YMLmongo: container_name: mongo image: mongo:7 volumes: - ./data/db:/data/db networks: - mx-space port: ["27017:27017"] restart: unless-stopped設定ファイルの更新以下のコマンドを実行して、元のdocker-compose.yml をバックアップし、設定ファイルを更新します:BASH# 备份旧配置(以防万一) cp docker-compose.yml docker-compose.yml.v11.backup # 拉取 v12 的 docker-compose.yml(已内置 PostgreSQL) wget -O docker-compose.yml https://fastly.jsdelivr.net/gh/mx-space/core@master/docker-compose.ymlTip注意:後で更新を実行する際に新しいバージョンの MixSpace ファイルがダウンロードされていない場合は、以下の修正手順を実行してください。必要に応じて、設定ファイルを変更新しくプルしたdocker-compose.yml ファイル内のimage: innei/mx-server:latest 部分を以下のように変更します:YMLimage: innei/mx-server:12設定情報の移行新しいdocker-compose.yml ファイルの以下の2つの設定情報に、元のdocker-compose.yml の設定情報を入力します:YML- JWT_SECRET= - ALLOWED_ORIGINS=これら2つの項目については、Yohakuテーマをデプロイする記事で説明しました:Yohakuを個人スペースとしてデプロイした記録本文详细介绍了在 OpenCloudOS 9 云服务器环境下,利用宝塔面板手动部署 MixSpace 后端及 Yohaku 前端主题的全过程。作者针对从传统PHP开发转向现代前端工程化过程中遇到的路径冲突、环境变量配置等问题提供了实践解决方案。文中涵盖了 Node.js、pnpm、pm2 及 Docker 等基础环境的安装调试,深入解析了利用 GitHub Actions 进行前端预构建的流程,并针对可能出现的构建错误提供了魔改版的 deploy.yml 配置建议。文章通过明确 INFO、TIP、WARNING 等文档规范,不仅记录了技术细节,更分享了跨技术栈部署的心得,旨在为开发者提供一份严谨的生产环境部署指南。新しいデータベースの更新と起動新しいデータベースを起動BASHdocker compose up -d postgres redisその後30秒ほど待って、以下のコマンドを実行します:BASHdocker compose ps && docker port postgres | grep 5432期待される表示: postgres と redis のステータスが healthy または Up。また、PostgreSQLのポート5432がホストにマッピングされていることを確認します。データベースの移行公式ドキュメントでは2つの方法が提供されていますが、ここではより簡単な方法を採用します:BASHdocker run --rm --network host \ -e MONGO_URI="mongodb://127.0.0.1:27017/mx-space" \ -e PG_URL="postgres://mx:[email protected]:5432/mx_core" \ node:22-alpine \ npx -y @mx-space/mongo-pg-cli@latest --mode applyもし --network host 使用できない場合は、に変更してください --network <v12 compose 网络名> そして、まず古い mongo コンテナをそのネットワークに接続し(docker network connect mx-space_mx-space mongo)、次にコンテナ名 mongo:27017 と postgres:5432 接続します。期待される出力Rows allocated: XXXX、数字は記事/コメント数に近いMissing refs: 0(孤立データが少量あっても許容)最後に ✅ Migration finished without missing references.エラーが発生した場合の対処エラーメッセージ原因解決方法MongoServerSelectionErrormongoポートが公開されていない / ネットワークが接続されていないmongoコンテナが27017をマッピングしているか確認する、または --network 設定が正しいことを確認Connection refused (postgres)PGがまだ起動していない30秒待って再試行Missing refs > 0孤立データあり通常無視可能。スクリーンショットを記録して続行その他のエラー未知の問題続行しない、ログを保持し、v11にロールバック(下のロールバックの章を参照)Yohakuまたはフロントエンドテーマの更新新しいバージョンのMixSpaceは古いバージョンのYohakuテーマの使用をサポートしなくなりました。Yohakuテーマを更新するか、使用している他のテーマをMixSpace V12をサポートすることが明記されているバージョンに変更・更新して、新しいMixSpaceに適応してください。Part. 3 更新の確認MixSpace V12を起動BASHdocker compose up -d上記のコマンドを実行し、以下を確認してください:トップページを開き、記事リストが正常に表示される 記事を開き、内容とコメントが存在する 管理画面にログイン(你的域名/proxy/qaqdmin)、正常にログインできる 管理画面の「その他→バックアップ」ページが正常に開ける テスト記事を投稿し、正常に公開・表示される テスト記事を削除し、正常に削除されるPart. 4 旧データベースとロールバックについて旧データベースの削除とロールバックについては、公式ドキュメントの解決策を参照してください。公式の説明は非常に詳しいため、ここでは繰り返しません:v11 升级到 v12 | Mix Space从 v11 升级到 v12 的完整指南,包含 MongoDB 到 PostgreSQL 的迁移步骤mx-space.js.orgMix Space TeamMixSpace V13のアップデート時に発生する様々な問題についても、近日中に整理してここに公開する予定です。
Yohakuテーマの5月初めのバージョンアップデート以降、新しいバージョンのYohakuテーマはバックエンドバージョンが V12 と V13 以降のMixSpaceにのみ対応します。MixSpace V13 のバックエンドバージョンは V8.0.0 以上のバージョンのadmin管理ダッシュボードが必要です。そのため、この期間中に不注意や誤操作が原因で発生する可能性のある問題がいくつか発生する可能性があります。ここに非公式のアーカイブ記録を残します。
v12 はメジャーアップグレードであり、データベースが MongoDB から PostgreSQL に変更されます。あなたの記事、コメント、設定などのデータは保持されますが、アップグレード中に一度データ移行を実行する必要があり、一時的なメンテナンスダウンが必要です。
新しいバージョンの MixSpace は、より古いバージョンの Yohaku やあなたが使用しているフロントエンドテーマと互換性がない可能性があります。テーマの最新バージョンが MixSpace V12 をサポートすることが明示されていることを確認した上で、更新を行ってください。
特記がない限り、このドキュメントの更新はMixSpaceのみに関連し、フロントエンドテーマがYohaku、Shiro、またはその他のテーマであるかどうかは関係ありません。この記事ではビジネスレベルのアップグレード手順を記録し、今回の更新に関する技術情報と公式のクロスバージョンアップグレードドキュメントは以下の通りです:
Part. 1 データのバックアップ
WordPressや他のCMSを更新する場合と同様に、クロスバージョンやデータ構造に影響を与える更新を開始する前に、元のデータベースと現在のバージョンのプログラムをバックアップおよびアーカイブすることをお勧めします。更新に失敗した場合に迅速にロールバックして本番環境に影響を与えないようにします。
以下のバックアップデータ関連コードは、MixSpaceのデプロイ方法を問いません:
バックアップが有効であることを確認してください:
Part. 2 バージョンアップデート
私はDockerを使用してバックエンドを一括デプロイしている(MixSpaceバックエンドと同時に管理ダッシュボードもインストール)ため、ここでは私の更新手順と注意点のみを記載します。ソースコードによるデプロイや個別デプロイの更新が必要な場合は、MixSpace公式ドキュメントを参照してください。
バックエンドの停止
データのバックアップ後、すぐにバックエンドを停止し、更新中に新しいデータが書き込まれて消失するのを防ぎます。注意:MixSpaceの実行を停止しても、MongoDBサービスは停止しないでください:
MongoDBが実行中であり、ホストにポートが公開されていることを確認します:
期待した内容が表示されない場合は、docker-compose.yml ファイル内の該当箇所を以下のように修正します(port 設定を追加):
設定ファイルの更新
以下のコマンドを実行して、元のdocker-compose.yml をバックアップし、設定ファイルを更新します:
注意:後で更新を実行する際に新しいバージョンの MixSpace ファイルがダウンロードされていない場合は、以下の修正手順を実行してください。
必要に応じて、設定ファイルを変更
新しくプルしたdocker-compose.yml ファイル内のimage: innei/mx-server:latest 部分を以下のように変更します:
設定情報の移行
新しいdocker-compose.yml ファイルの以下の2つの設定情報に、元のdocker-compose.yml の設定情報を入力します:
これら2つの項目については、Yohakuテーマをデプロイする記事で説明しました:
新しいデータベースの更新と起動
新しいデータベースを起動
その後30秒ほど待って、以下のコマンドを実行します:
期待される表示: postgres と redis のステータスが healthy または Up。また、PostgreSQLのポート5432がホストにマッピングされていることを確認します。
データベースの移行
公式ドキュメントでは2つの方法が提供されていますが、ここではより簡単な方法を採用します:
もし --network host 使用できない場合は、に変更してください --network <v12 compose 网络名> そして、まず古い mongo コンテナをそのネットワークに接続し(docker network connect mx-space_mx-space mongo)、次にコンテナ名 mongo:27017 と postgres:5432 接続します。
期待される出力
エラーが発生した場合の対処
エラーメッセージ
原因
解決方法
MongoServerSelectionError
mongoポートが公開されていない / ネットワークが接続されていない
mongoコンテナが27017をマッピングしているか確認する、または --network 設定が正しいことを確認
Connection refused (postgres)
PGがまだ起動していない
30秒待って再試行
Missing refs > 0
孤立データあり
通常無視可能。スクリーンショットを記録して続行
その他のエラー
未知の問題
続行しない、ログを保持し、v11にロールバック(下のロールバックの章を参照)
Yohakuまたはフロントエンドテーマの更新
新しいバージョンのMixSpaceは古いバージョンのYohakuテーマの使用をサポートしなくなりました。Yohakuテーマを更新するか、使用している他のテーマをMixSpace V12をサポートすることが明記されているバージョンに変更・更新して、新しいMixSpaceに適応してください。
Part. 3 更新の確認
MixSpace V12を起動
上記のコマンドを実行し、以下を確認してください:
Part. 4 旧データベースとロールバックについて
旧データベースの削除とロールバックについては、公式ドキュメントの解決策を参照してください。公式の説明は非常に詳しいため、ここでは繰り返しません:
MixSpace V13のアップデート時に発生する様々な問題についても、近日中に整理してここに公開する予定です。