SYMFONY2:学说:映射:导入抛出Doctrine orm mapping mappingExcepti



我想导入一个称为商店的表的学说映射。我愿意:

./app/console doctrine:mapping:import MyBundle annotation --filter="stores" 

我得到错误:

[DoctrineORMMappingMappingException]                                                                              
  Table Cat_map has no primary key. Doctrine does not support reverse engineering from tables that don't have a prima  
  ry key. 

我是否错误地使用过滤器?我不希望学说尝试映射"商店"以外的任何表格

请求创建语法:

CREATE TABLE `stores` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `storeid` int(11) NOT NULL,
  `store` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=96 DEFAULT CHARSET=utf8;

尽管 - filter 属性学说分析了所有表。如果一切正常,则它通过过滤器仅创建指定的实体。

因此,您应该尝试修复 CAT_MAP 表添加主键。如果您不弄清楚某种方法或有特殊需求,请更新您的问题,包括 cat_map part。

我希望这会有所帮助!

您可以告诉学说忽略与某个正则匹配的表。例如,如果您想忽略以" custom_"开头的表格,请将其放入您的config.yml:

doctrine:
    dbal:
        schema_filter: /^(?!custom_)/

这似乎可以解决问题。有关信息:http://symfony.com/doc/current/bundles/doctrinemigrationsbundle/index.html#manual-tables

使用现有数据库以外的其他内容。学说多年来都没有解决此问题。

相关内容

  • 没有找到相关文章