我们正在将我们的软件从我们自己的和遗留的 PHP 框架迁移到 Symfony。我们的应用程序对每个用户都有不同的架构。所以除了公共模式,我们还有大约 2000 个用户模式。假设我们有一个类似于市场的系统,每个用户都可以在他们自己的 Schema 中自定义一些表,但我们不要专注于此。
我们目前正在寻找两个问题的最佳解决方案:
- 当一个新用户注册时,我们的 Symfony 应该只为那个新创建的用户模式运行迁移。
- 当我们创建迁移时,我们需要该迁移影响所有现有的用户模式。
目前,在我们的旧系统中,我们使用一堆 PHP 逻辑进行此类迁移,我希望避免自定义 DoctrineMigrationsBundle 或在一次迁移中包含数百行 PHP 代码。
所以我想知道有没有更简单的方法来处理 Doctrine/Symfony 中的所有用户模式,所以当我运行时:
php bin/console doctrine:migrations:migrate
我们所有现有的用户模式都已更新。
我们的用户 Schema 名称是 like app234234
,app453453
除了那些 Schemas 我们只有默认public
Schema
我们正在使用:
- Symfony 4.3
- PostgreSQL 9.1
- PHP 7.3