ruby-on-rails - ActiveRecord::ConnectionAdapters::OracleEnhancedConnectionException "DESC 表名,它存在吗?" 为测试设置运行迁移时出错
问题描述
我正在尝试在测试环境中设置数据库。但我无法迁移数据库
我在网上看了几个小时。尽管这是一个常见问题,但提供的解决方案都不适合我。发布问题的最常见原因是可能在 database.yml 文件中发布了错误的凭据。我也检查过。我的 databse.yml 是正确的。
为此,我执行了耙子
'rake db:迁移 RAILS_ENV=test'
在执行上述命令时,它显示错误为:
rake aborted!
ActiveRecord::ConnectionAdapters::OracleEnhancedConnectionException: "DESC articles" failed; does it exist?
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-oracle_enhanced-adapter-1.7.8/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:231:in `rescue in describe'
Caused by:
OCIError: ORA-04043: object articles does not exist
metadata.c:175:in oci8lib_240.so
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2053:in `block in describe_table'
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2052:in `times'
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2052:in `describe_table'
请帮忙。
提前致谢。
解决方案
您是否正在tenants
使用不同的数据库处理多个并使用establish_connection
方法切换它们?
也许从主数据库到子客户端数据库,如果您授予对任何表的访问权限,它会起作用,但如果您错过,那么它可能会出现这种错误。(我也经历过)
您需要检查其中必须返回true rails c
。ActiveRecord::Base.connection.tables.includes? 'articles'
推荐阅读
- react-native - 在反应本机中使用导航抽屉反应备忘录
- matplotlib - Matplotlib 的线宽问题
- amazon-web-services - 更新存储在 AWS S3 中的数据的架构/数据的策略
- javascript - 单击页面时更改导航中的文本颜色不起作用
- html - CSS 网格自动展开
- javascript - 无法访问反应组件中的所有属性
- java - 调用 (Cucumber) Annotation 时的运行方法
- ios - Swift 仅将最后一项存储在 Array 中
- r - 如何将数据框列除以 3,但根据另一列内容跳过除法
- azure - 使用批准和部署从 azure 管道到 azure 应用服务