Loading...

[Update] MBC CQRS サーバーレス フレームワーク v1.4.0 をリリース

MBC CQRS サーバーレス フレームワーク v1.4.0 をリリースしました。今回のリリースでは、各ドメインモジュールが使用する DynamoDB テーブル名を後方互換のオプションで設定可能にし、あわせて registerAsync を全モジュールに対応させました。既定値は現行のままのため、既存アプリはコード変更なしでアップグレードできます。

主な変更点

新機能

  • 設定可能なテーブル名: master / directory / survey-template / ui-setting の4ドメインパッケージで、DynamoDB テーブル名を後方互換オプション tableName? で変更できるようになりました。既定値(master / directory / survey / master)は不変です。
  • registerAsync 対応: 上記4モジュールすべてで registerAsync をサポートしました。
  • directory パッケージ: DirectoryStorageModulepkPrefix?(既定 DIRECTORY)と prismaModelName?(既定 directory)も受け付けます。directorydocument の改名は、強制ではなく opt-in の設定(tableName: 'document', pkPrefix: 'DOCUMENT', prismaModelName: 'document')として利用できます。
  • mbc-migrate スキル: MCP サーバーの mbc-migrate スキルに v1.3.5 → v1.4.0 の移行ガイド(テーブル名の変更手順、中央 master テーブルの注意点)を追加しました。

挙動の変更(アップグレード時の注意)

  • prismaService が常に必須に: 登録時に prismaService が常に必須となりました(従来は enableController: true のときのみ検証)。未指定時は起動時に明確なメッセージで即座に失敗します。enableController: false で登録しグローバル提供トークンに依存していた場合は、prismaService を明示的に渡してください。
  • master テーブル共有時の警告: MasterModuleSettingModule が既定の master テーブルを共有する場合、起動時に警告が出ます。SettingModuleregisterEventHandlerAlias: false を設定してください。
  • master テーブル改名の制限: master テーブルは TtlService や sequence パッケージが固定名で参照する framework 横断の設定ストアのため、tableName の上書きは完全にはサポートされません(上書き時は警告が出ます)。
  • CommandModule.registerAsync: エイリアスを非同期に構築できないため、明確なエラーを投げるようになりました。register() またはドメインモジュール経由で構成してください。

アップグレード方法

npm install @mbc-cqrs-serverless/core@1.4.0

テーブル名の変更手順(register/registerAsync の例、cqrs.json への追加と migrate:ddb、Prisma モデル追加と migrate:rds、データ移行、master テーブルの注意点)は、各パッケージの README とドキュメントサイトの「Configurable table name」セクションをご覧ください。

関連リンク

Top