gpt4 book ai didi

ruby-on-rails - 测试时切换分支导致数据库不存在错误

转载 作者:搜寻专家 更新时间:2023-10-30 23:27:39 26 4
gpt4 key购买 nike

我最近在一个新工作区中设置了 postgresql。我按照通常的方式设置它。或者至少我认为我做到了。但是后来我得到了这个错误

Failure/Error: ActiveRecord::Migration.maintain_test_schema!

ActiveRecord::NoDatabaseError:
FATAL: database "app_test" does not exist

只有当我切换到一个分支并运行 rspec 时才会发生。到目前为止,我一直在创建数据库并在每次在分支之间切换时运行迁移作为解决方案。

它不会影响开发数据库。只要我留在那个分支上,我就不必再次添加测试数据库。但如果我出于任何原因不得不离开它,我将不得不再次添加数据库。

它似乎会影响任何不是主分支的分支。而且这只发生在本地。我正在使用 Cloud 9,我的应用程序是 Rails 应用程序。我应该卸载并重新安装 postgresql,然后重新设置吗?

最近我不得不同时在几个分支上工作,所以这变得很麻烦。我很想创建一个新的工作区。

这是我的 database.yml(当然有一些隐藏的东西,app 是我应用程序名称的代表)。

default: &default
adapter: postgresql
encoding: unicode
host: localhost
username: postgres
password: secret
pool: 5

development:
<<: *default
database: app_development

test:
<<: *default
database: app_test

production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>

提前致谢

最佳答案

您应该能够通过运行来重置您的数据库:

rake db:drop db:create db:migrate db:test:prepare

这将删除您的开发数据库(连同其中的任何数据),重新创建它,从您的迁移文件重建架构,并重建测试数据库。如果此时它不起作用,则可能是权限问题

关于ruby-on-rails - 测试时切换分支导致数据库不存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54403966/

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