ソフトウェアを独自のレガシー PHP フレームワークから Symfony に移行しています。私たちのアプリケーションには、ユーザーごとに異なるスキーマがあります。したがって、パブリック スキーマのほかに、約 2,000 のユーザー スキーマがあります。マーケットプレイスに似たシステムがあり、すべてのユーザーが独自のスキーマ内でいくつかのテーブルをカスタマイズできるとしましょう。
現在、次の 2 つの問題に対する最適なソリューションを探しています。
- 新しいユーザーが登録されると、Symfony はその新しく作成されたユーザー スキーマに対してのみ移行を実行する必要があります。
- 移行を作成するときは、その移行がすべての既存のユーザー スキーマに影響を与える必要があります。
現在、私たちの古いシステムでは、一連の PHP ロジックを使用してこの種の移行を行っています。DoctrineMigrationsBundle をカスタマイズしたり、1 回の移行で数百行の PHP コードを使用したりすることは避けたいと考えています。
Doctrine/Symfony ですべてのユーザー スキーマを処理する簡単な方法があることを知りたいので、たとえば次のように実行します。
php bin/console doctrine:migrations:migrate
すべての既存のユーザー スキーマが更新されます。
ユーザー スキーマ名は のようなものapp234234
で、app453453
それらのスキーマを除いて、デフォルトのpublic
スキーマしかありません
私たちは以下を使用しています:
- シンフォニー4.3
- PostgreSQL 9.1
- PHP 7.3