- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近我将 PostgreSQL 添加到我的应用程序中,该应用程序已经在 MySQL 上运行,现在应用程序在两个数据库上运行。我能够在不同数据库中存在的表之间建立关联,并且它的工作正常。今天我在一个页面中添加了一个搜索功能,该页面使用两个数据库中存在的表并抛出错误。花了一整天试图找出错误,但没有成功。请查看关联,代码并帮助我更正它。
我有 4 个表:-
公司(mysql)
位置(mysql)
报告(PostgreSQL)
报告类别(PostgreSQL)
模型 - company.rb
establish_connection Rails.env+"_postgres"
has_many :reports
establish_connection Rails.env
belongs_to :location
位置.rb
has_many :companies
报告.rb
establish_connection Rails.env
belongs_to :company
establish_connection Rails.env+"_postgres"
belongs_to :report_category
报告类别.rb
establish_connection Rails.env+"_postgres"
has_many :report
现在从 View 中我传递搜索参数并在我的 reports_controller 中写入
@reports = Report.where("companies.name like ? and report_category.name ?", params[:company], params[:category]).includes(:company, :report_category)
执行此行后出现以下错误
ActiveRecord::StatementInvalid: PGError: ERROR: relation "companies" does not exist
但是
Company.where("location.name like ?", params[:location]).includes(:location)
或
Report.where("report_categories.name like ?", params[:category]).includes(:report_category)
工作得很好。如果我使用两个数据库进行搜索,我只会收到错误消息。请帮忙
最佳答案
首先,我想支持评论中的建议,即您将所有内容都移到一个数据库中。这为您节省了很多复杂性。但是,如果您真的做不到,有几种方法可以从 PostgreSQL 中访问 MySQL 表,这将是完全迁移的二等解决方案,但它会起作用。
在 PostgreSQL 9.1 及更高版本中,您可以使用 MySQL 的外部数据包装器进行只读查询。在早期版本中,您可以使用 David Fetter 的 DBI-Link 项目建立连接。
然后,这些允许您将数据作为统一数据库呈现给您的应用程序。
关于ruby - PGError : ERROR: relation "companies" does not exist( postgresql , mysql, rails 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9009713/
我有以下完整查询,但它什么也没返回。 @companies.where("(companies.status = 'active' AND (companies.status_override = '
我知道 Android 中包名称的标准约定是 com.companyname.project ....等等我想知道对于总部设在以色列的公司来说,使用 il.co 是否有意义,特别是因为我有一个使用 .
我将公司放在引号之间,因为我的问题与我们的橄榄球队页面有关,但在 Facebook 中,它的作用就像公司页面。 我目前正在重建我的团队网站 ( BBRFC Celtic ),并且我将添加一个用户登录系
我们升级(从 MongoDB 3.4)到: MongoDB:4.2.8 Mongoose :5.9.10 现在我们收到了这些错误。对于最小的例子,模型是: [company.js] 'use stri
我有一个基础实体类MyCompany.Core.Model.User,该类将用于User实体的常用属性: public class User { public string Username
我已将静态(无 servlet、jsp 等)网站加载到 Tomcat 的 webapps 文件夹中。 我在 webapps/ourcompany 下有一个 index.html 文件,所以当我在 to
我正在从头设计一个网络驱动的 SQL 数据库应用程序。该应用程序将为同类行业的客户管理信息。换句话说,关于每个客户的信息(实体和它们之间的关系)在一个到另一个客户之间没有太大差异。但是,信息量取决于公
我有以下类(class): @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Party", propOrder = { "comp
(我将首先解释我的问题。下表(任何示例查询)可在 http://sqlfiddle.com/#!2/8ec17/4 获得) 我有一张股票信息表,如下: sp100_id _date
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我决定将自己的 Prelude 用于更大的项目(包含一些库和一些可执行文件)。 Prelude 不导出一些部分函数,而是导出一些常用函数(即来自 Control.Monad 等)。然而,我正在与如
我正在使用 Joomla 的 JSN Uniform 插件来接收电子邮件,但它不接受 .company 域作为有效域。它接受常用域(com、net、org、info、biz 等),但不接受 .comp
我正在尝试让这个 API 正常工作,但遇到了这个我不知道如何解决的错误。我在标题上收到错误。我使用了来自谷歌浏览器的 postman 扩展。并尝试执行发布请求在 localhost:3000/comp
我在测试 Django RestFramework 时遇到问题。我有以下测试: def test_update_coupon(self): response = self.make_c
console.log(profile); 效果很好,它显示了这一点。 但是当我使用 console.log(profile.company);获取公司名称。 它向我展示了 Cannot read p
这似乎是一个微不足道的问题。我需要知道,如果我在值(value) 99 美元的 iOS 开发者计划:公司 下注册我的公司,我现在可以在同一家公司下添加开发者。 我的问题是,这些开发者是否还需要分别拥有
我无法再在 Android 上启动我的应用程序。 iOS 版本似乎没问题。完整的错误是: ADB0000: Could not determin the installation path for p
我为大型 Java/Maven 项目安装了新的 Emacs(在 Windows 上)。 已安装 Eclipse 和 eclim(带 java 层的 spacemacs 更新到最新版本,company-
我正在阅读基于最新版本的 iOS 的 VPN On Demand 功能。 这里的问题是:我们运行 VPN 来访问内部托管在子域上的 WebApp,例如 salexxx.company.net ,该子域
我开发了一个 Java 数据库应用程序,该应用程序已通过 Web 服务器部署给用户。现在,一切都很好,但我们要求一些外部客户也希望访问该软件。有什么方法可以让该应用程序为这些客户工作吗?该应用程序已放
我是一名优秀的程序员,十分优秀!