我正在使用 zend 框架和 doctrine2.1 进行开发。
我已经从数据库中生成了实体。
但问题是:Doctrine 无法识别我的索引。它们根本没有在实体注释中标记。
当我转到验证模式并从 orm:schema-tool:update --dump-sql
转储 sql 时,它会生成 sql 以删除整个数据库中的所有索引。
我发现 Doctrine 有如下用于定义索引的注解:
indexes={@index(name="index_name",
columns={"database_column1","database_column2"}
)}
但这允许我为多个列定义一个索引,我并不真的需要它。
我想要的是能够在多列上定义多个索引,每列一个索引。
有什么办法可以实现吗?有没有一种方法可以让注释定义多个索引。
最佳答案
我会说你可以在 indexes 属性中插入多个索引(但我还没有时间测试它):
indexes={
@ORM\Index(name="index_name", columns={"database_column1","database_column2"}),
@ORM\Index(name="index_name2", columns={"database_column1"}),
@ORM\Index(name="index_name3", columns={"database_column2"})
}
希望对你有帮助
关于mysql - 具有多个索引的学说 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8141309/