首先,这可能看起来像是重复的:
但实际上不是。虽然我在这种情况下收到了相同的错误信息。当检查数据库是否安装了hstore时,我们可以看到它已经安装了:
./psql -d photographerio_development -c '\dx'
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+--------------------------------------------------
hstore | 1.2 | hstore | data type for storing sets of (key, value) pairs
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
同时它也在模板_1数据库中。
因此,当我试图运行迁移以添加hstore时,出现了PG::Error: ERROR:扩展“hstore”已存在
的错误提示。当我注释掉这个迁移后,在下一个需要使用hstore的迁移上,它会提示PG::UndefinedObject: ERROR:类型“hstore”不存在
,这有点矛盾。
这是一个Rails 4.0.1应用程序,配有PostgreSQL 9,并且我在这台机器上运行的其他几个项目中使用了hstore。