gpt4 book ai didi

ruby-on-rails - 迁移不会识别在 schema_search_path 上创建的 hstore 扩展

转载 作者:行者123 更新时间:2023-11-29 12:11:32 29 4
gpt4 key购买 nike

我正在尝试使用 postgresql HStore 添加列。

因为我正在运行一个 Multi-Tenancy 应用程序(使用公寓 gem),所以我在一个名为“shared_extensions”的专用架构上创建了 hstore 扩展,如下所示:[ https://github.com/influitive/apartment#installing-extensions-into-persistent-schemas][1]

我还将 shared_extensions 模式添加到 database.yml 中:

default: &default
adapter: postgresql
encoding: unicode
pool: 5
schema_search_path: "public,shared_extensions"

但是,当我尝试运行 rake db:migrate 来添加 hstore 列时,我仍然收到错误:

ActiveRecord::StatementInvalid: PG::UndefinedObject: ERROR:  type "hstore" does not exist

这是 hstore 迁移代码:

class AddAdditionalInformationsToParties < ActiveRecord::Migration
def change
add_column :parties, :additional_informations, :hstore
end
end

我不确定,但看起来迁移无法识别 database.yml 文件中的 schema_search_path。

最佳答案

您需要在 postgres 中启用 hstore 扩展。

尝试运行 rails g migration add_hstore_extension ,然后像下面这样编辑它:


class AddHstoreExtension < ActiveRecord::Migration
def self.up
enable_extension "hstore"
end
def self.down
disable_extension "hstore"
end
end

请注意,您需要在使用它的迁移之前运行它。

关于ruby-on-rails - 迁移不会识别在 schema_search_path 上创建的 hstore 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32292444/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com