gpt4 book ai didi

ruby-on-rails-3 - Rails 3, rake 分贝 :test:prepare doesn't work when using a postgres Schema

转载 作者:行者123 更新时间:2023-12-04 06:55:01 25 4
gpt4 key购买 nike

我有一个 Rails 3.2.1 项目,我正在尝试运行我的规范。

当我运行时:
rake

rake aborted! PG::Error: ERROR: invalid value for parameter "search_path": "example" DETAIL: schema "example" does not exist : SET search_path TO example



据我所知,rake db:test:prepare 删除测试数据库,然后尝试从 schema.rb 重新创建它。问题是,database.yml 有一行

schema_search_path: example



因此,当它尝试重新连接时,会因上述错误而失败。

我想我的问题是,我怎样才能获得 rake db:test:prepare 来设置 schema_path 呢?

最佳答案

一种解决方案是向创建模式的 db:create 任务添加一些代码。把它放在一个 rake 任务中,例如 'APP_ROOT/lib/tasks/db_create_schema.rake'

namespace :db do
task :create do
config = Rails.configuration.database_configuration[Rails.env].merge!({'schema_search_path' => 'public'})
ActiveRecord::Base.establish_connection(config)
ActiveRecord::Base.connection.execute("CREATE SCHEMA schema_name")
end
end

https://gist.github.com/4280172

关于ruby-on-rails-3 - Rails 3, rake 分贝 :test:prepare doesn't work when using a postgres Schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322583/

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