Rails 6:在多数据库应用程序中进行模型测试时,为什么要在数据库名称后附加一个数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 6:在多数据库应用程序中进行模型测试时,为什么要在数据库名称后附加一个数字?相关的知识,希望对你有一定的参考价值。
我在Rails 6.0.2.2应用程序中具有以下多数据库设置:
development:
primary:
<<: *default
database: myapp_development
migrations_paths: db/migrate/primary
other:
<<: *default
database: other_development
migrations_paths: db/migrate/other
[当我尝试对任一数据库中的模型运行模型测试时,都会得到
mysql2::Error::ConnectionError: Access denied for user 'my_user'@'localhost' to database 'myapp_test-3'
对于每个测试,它在数据库名称后附加一个不同的数字。数据库用户my_user确实有权访问myapp_test数据库,但是当Rails向数据库名称添加连字符和整数时,这显然无济于事。
我已经搜索了所有可以想到的内容,但是找不到任何信息。
感谢任何信息或建议(如果我错过了明显的内容,我们深表歉意...
答案
在Rails 6中检查并行测试。https://edgeguides.rubyonrails.org/testing.html#parallel-testing。这就是Rails创建多个DB的原因。以上是关于Rails 6:在多数据库应用程序中进行模型测试时,为什么要在数据库名称后附加一个数字?的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 3.1 中使用 Capybara、Rspec 和 Selenium 进行测试时登录失败
如何在 Rails 中正确使用 ActiveStorage 进行模型测试?