Sou*_*euh 6 sqlite symfony doctrine-orm
我有一个实体定义,适用于开发和生产环境(mysql),但不适用于测试(sqlite):
/**
* Invoice
*
* @ORM\Table(name="invoice", indexes={
* @ORM\Index(name="ref_idx", columns={"ref"}),
* @ORM\Index(name="created_at_idx", columns={"created_at"}),
* @ORM\Index(name="paid_idx", columns={"paid"}),
* @ORM\Index(name="is_valid_idx", columns={"is_valid"}),
* @ORM\Index(name="canceled_idx", columns={"canceled"})
* })
* @ORM\Entity(repositoryClass="AppBundle\Repository\InvoiceRepository")
*/
class Invoice
// [...]
Run Code Online (Sandbox Code Playgroud)
当我运行doctrine:schema:create或doctrine:schema:update --force on test env时,我有以下错误:
[Doctrine\DBAL\DBALException]
An exception occurred while executing 'CREATE INDEX created_at_idx ON invoice (created_at)':
SQLSTATE[HY000]: General error: 1 index created_at_idx already exists
[PDOException]
SQLSTATE[HY000]: General error: 1 index created_at_idx already exists
Run Code Online (Sandbox Code Playgroud)
有人已经有过这种问题吗?如何解决/忽略它?
谢谢.
Sou*_*euh 19
解决方案在这里:https://stackoverflow.com/a/24634713/1731473
简而言之,您的索引应该在整个数据库中具有唯一的名称.
所以你不能有:
invoice - > created_at_idx user - > created_at_idx
但:
invoive - > invoice_created_at_idx user - > user_created_at_idx
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |