我在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。
答案 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”作为我的应用程序并将表格/实体存储在例如“主要”架构..