MySQL Rails – 如何从外部数据库访问表格

MySQL Rails – 如何从外部数据库访问表格

在本文中,我们将介绍如何在Rails应用程序中从外部MySQL数据库中访问表格。假设您的Rails应用程序需要访问另一个MySQL数据库中的表格,该怎么办呢?

阅读更多:MySQL 教程

第一步 – 配置database.yml文件

首先,我们需要修改Rails应用程序中的database.yml文件,以配置连接到外部MySQL数据库的详细信息。在database.yml文件中,我们需要添加一个新的配置块,如下所示:

external_database:
  adapter: mysql2
  encoding: utf8
  database: external_database_name
  username: external_database_username
  password: external_database_password
  host: external_database_host
  port: external_database_port
Mysql

在这个配置块中,我们需要指定连接到外部MySQL数据库所需的详细信息,包括adapter(MySQL适配器)、encoding(编码方式)、database(数据库名称)、username(用户名)、password(密码)、host(主机名)和port(端口号)。确保将这些值替换为实际的数据库详细信息。

第二步 – 创建外部模型

接下来,我们需要创建一个新的Rails模型,以便在应用程序中访问外部MySQL数据库中的表格。我们可以使用Rails命令行工具来创建这个模型,如下所示:

$ rails generate model ExternalTable --database=external_database
Mysql

在这个命令中,我们创建了一个名为ExternalTable的新模型,并使用–database选项指定连接到外部MySQL数据库。此命令将创建一个新的模型文件,位于app/models/external_table.rb中,并包含以下内容:

class ExternalTable < ActiveRecord::Base
  establish_connection :external_database
end
Mysql

在这个模型文件中,我们使用ActiveRecord库的establish_connection方法指定了连接到外部MySQL数据库的详细信息。我们还可以通过添加其他属性和方法来定义与外部表格的交互。

第三步 – 访问外部表格

一旦我们创建了外部模型,就可以使用Rails应用程序的常规方式来访问外部表格。例如,我们可以使用以下代码从ExternalTable模型中检索记录:

ExternalTable.all
Mysql

我们还可以使用其他的ActiveRecord方法,例如where,find和create等等。

示例说明

假设我们有一个名为users的表格,存储在外部MySQL数据库中。我们可以像下面这样从ExtrenalTable模型中检索该表格的所有记录:

ExternalTable.where(table_name: 'users')
Mysql

这条代码将返回外部MySQL数据库中的users表格的所有记录,作为ActiveRecord对象的集合。

总结

本文介绍了如何在Rails应用程序中从外部MySQL数据库中访问表格。要完成这项任务,我们需要修改database.yml文件,创建一个新的外部模型,并使用ActiveRecord库的方法来访问外部表格。通过这些步骤,我们可以轻松地在Rails应用程序中访问任何外部MySQL数据库中的表格。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册