所以我的问题是,我在表中添加了一个tsvector类型的列,而没有将它添加到实体类中,现在当我想运行doctrine:schema:update --force时,它会显示以下错误
Unknown database type tsvector requested,
Doctrine\DBAL\Platforms\PostgreSqlPlatform may not support it.我现在应该做什么,我是必须在tsvector中创建tsvector类型,还是必须删除tsvector列,使用命令行更新模式,然后再添加tsvector列?
发布于 2013-03-31 02:03:27
你应该总是注册你使用的任何类型,这是最明显的注册tsvector类型https://gist.github.com/darklow/3129096的例子,并在你的config.yml中添加以下内容:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
types:
tsvector:
class: myProject\myBundle\Type\tsvectorType
mapping_types:
tsvector: tsvector发布于 2014-03-25 19:13:05
如果您不打算将其与Doctrine一起使用,则只需将以下内容添加到doctrine配置即可。
dbal:
driver: %database_driver%
...
...
types:
tsvector: string
hstore: string发布于 2013-03-31 01:49:26
显然主义抽象层不知道这种类型,所以它不能使用这种类型的列,即使列已经在数据库表中定义了……
考虑注册新的信条custom type。下面是tsvector类型实现https://gist.github.com/darklow/3129096的示例
https://stackoverflow.com/questions/15721151
复制相似问题