roukmoute/doctrine-prefix-bundle
Composer 安装命令:
composer require roukmoute/doctrine-prefix-bundle
包简介
Listener that prefixes tables and sequences
README 文档
README
A Symfony bundle that automatically prefixes Doctrine ORM table names, indexes, unique constraints, and PostgreSQL sequences.
Prefixes are useful when you need to:
- Share a database with tables from another project
- Use reserved SQL keywords as entity names (like
userorgroup) - Organize tables by application or module
Requirements
- PHP ^8.1
- Symfony ^6.4 || ^7.0
- Doctrine ORM ^3.0
Installation
composer require roukmoute/doctrine-prefix-bundle
With Symfony Flex, the bundle is automatically registered.
Configuration
# config/packages/roukmoute_doctrine_prefix.yaml roukmoute_doctrine_prefix: prefix: 'app_'
Options
| Option | Type | Default | Description |
|---|---|---|---|
prefix |
string | '' |
The prefix to prepend to names |
bundles |
array | [] |
If set, only entities from these namespaces will be prefixed |
encoding |
string | 'UTF-8' |
The encoding for the prefix |
Example with bundle filtering
roukmoute_doctrine_prefix: prefix: 'app_' bundles: - 'App\Entity' - 'Acme\BlogBundle\Entity'
What gets prefixed?
| Element | Example (prefix: app_) |
|---|---|
| Table names | user → app_user |
| Index names | idx_email → app_idx_email |
| Unique constraint names | uniq_email → app_uniq_email |
| Many-to-many join tables | user_role → app_user_role |
| PostgreSQL sequences | user_id_seq → app_user_id_seq |
Example
use Doctrine\ORM\Mapping as ORM; #[ORM\Entity] #[ORM\Table( indexes: [new ORM\Index(name: 'idx_email', columns: ['email'])], uniqueConstraints: [new ORM\UniqueConstraint(name: 'uniq_username', columns: ['username'])] )] class User { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column(length: 180)] private ?string $email = null; #[ORM\Column(length: 50)] private ?string $username = null; #[ORM\ManyToMany(targetEntity: Role::class)] private Collection $roles; }
With prefix: 'app_', this will generate:
- Table:
app_user - Index:
app_idx_email - Unique constraint:
app_uniq_username - Join table:
app_user_role
License
MIT
roukmoute/doctrine-prefix-bundle 适用场景与选型建议
roukmoute/doctrine-prefix-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19.4k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2014 年 09 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 roukmoute/doctrine-prefix-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 roukmoute/doctrine-prefix-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 19.4k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-09-29