chellem/doctine-prefixr-bundle
acme_demo_users for AcmeDemo\User). This is valuable for:
SchemaTool), making it a lightweight layer over existing infrastructure.StofDoctrineExtensionsBundle for schema customization).CREATE TABLE ... ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 TABLESPACE=acme_demo).Kernel integration).SchemaTool events to verify prefix logic.acme_order clashing with SQL syntax).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony/Doctrine Version Mismatch | High | Fork/rebase or replace with modern alternatives (e.g., custom SchemaTool listener). |
| Prefix Collisions | Medium | Validate prefixes against DB constraints pre-deployment. |
| Migration Complexity | Medium | Use a pre-migration script to rename existing tables. |
| Performance Impact | Low | Prefixes add minimal overhead (only during schema generation). |
| Archived Status | Medium | No active maintenance; assess risk of unpatched bugs. |
AppKernel.Bundle system (e.g., autoconfigure: true in config/bundles.php).Kernel).User in multiple bundles).SchemaTool events fire correctly (e.g., postGenerateSchemaTableDefinition).AppKernel registration.config/packages/doctrine_prefixr.yaml (Symfony 4+) or config.yml.doctrine_prefixr:
prefixes:
App\Acme: acme_
App\Admin: admin_
ALTER TABLE users RENAME TO acme_users).| Component | Compatibility Risk | Resolution |
|---|---|---|
| Symfony 6+ | High | Fork and update to Symfony 6’s Bundle API. |
| PHP 8.1+ | Medium | Add return-type declarations. |
| Doctrine ORM 2.10+ | Medium | Test with latest Doctrine (may need SchemaTool adjustments). |
| Custom Entity Naming | Low | Ensure prefixes don’t conflict with existing DB objects. |
config.yml/bundles.php.php bin/console cache:clear).php bin/console doctrine:schema:update --dump-sql generates correct DDL.php bin/console doctrine:migrations:execute for new projects.Table 'acme_users' doesn't exist if migrations fail).config/).SchemaTool events to trace prefix application:
// In a custom listener
public function postGenerateSchemaTableDefinition(GenerateSchemaTableDefinitionEventArgs $event) {
$table = $event->getTableDefinition();
\Log::debug('Table name:', [$table->getName()]);
}
doctrine_prefixr config is loaded.SchemaTool events are subscribed.%env(DOCTRINE_PREFIX)% in config.doctrine_prefixr:
prefixes:
App\Acme: "%env(APP_PREFIX)%_acme" # e.g., "staging_acme"
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Prefix collision with DB object | Schema generation fails | Validate prefixes pre-deployment. |
| **Migration script error |
How can I help you explore Laravel packages today?