doctirne中的未知数据库类型几何请求错误:映射:导入Symfony2

时间:2014-06-06 16:00:34

标签: symfony doctrine-orm doctrine sql-server-2012

我在Symfony2中运行doctrine:mapping:import命令时遇到以下错误。我正在使用SQL Server 2012,即使错误显示“2008Platform可能不支持它”。

  [Doctrine\DBAL\DBALException]                                                
  Unknown database type geometry requested, Doctrine\DBAL\Platforms\SQLServer  
  2008Platform may not support it. 

我的数据库配置如下所示:

doctrine:
dbal:
    driver:   pdo_sqlsrv
    host:     localhost
    port:     1433
    dbname:   test
    user:     user
    password: password
    charset:  UTF8

我也尝试将映射类型设置为string。但它给出了同样的错误。

当我使用MyMainBundle字符串--force尝试命令时。我收到这个错误:

 [Doctrine\ORM\Tools\Export\ExportException]          
  The specified export driver 'string' does not exist

我已经将驱动程序here用于php。

2 个答案:

答案 0 :(得分:0)

根据错误消息,您尝试导入架构的其中一个表包含一个几何类型的列。 Afaik Doctrine2不支持开箱即用的Geometry类型(希望很快就会改变)。

可能有用的一件事是创建自定义映射类型,如下所述:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/custom-mapping-types.html

您可以尝试的另一个选项是doctrine-spatial bundle,可在此处找到:https://github.com/djlambert/doctrine2-spatial

不确定这是否适用于基于mssql的服务器...

答案 1 :(得分:0)

我刚刚遇到类似的问题,这是由公共架构中已有的表(在PostGIS安装期间创建的geography_columns等表)引起的。

作为一种解决方案,我跳过使用架构“public”作为我的应用程序并将表格/实体存储在例如“主要”架构..