diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e9b74e..57e3b5e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,15 @@ jobs: - name: 'springboot' language: 'java' with_oceanbase_container: true + - name: 'mysql2' + language: 'ruby' + with_oceanbase_container: true + - name: 'activerecord' + language: 'ruby' + with_oceanbase_container: true + - name: 'sequel' + language: 'ruby' + with_oceanbase_container: true uses: ./.github/workflows/basic-workflow.yml with: module: ${{ matrix.module.name }} diff --git a/ruby/README.md b/ruby/README.md new file mode 100644 index 0000000..8092b89 --- /dev/null +++ b/ruby/README.md @@ -0,0 +1,3 @@ +## Introduction + +Please add RUBY samples in this directory. diff --git a/ruby/activerecord/README-CN.md b/ruby/activerecord/README-CN.md new file mode 100644 index 0000000..d903b8d --- /dev/null +++ b/ruby/activerecord/README-CN.md @@ -0,0 +1,59 @@ +# Ruby连接 OceanBase 指南(activerecord) + +[English](README.md) | 简体中文 + +本文介绍如何通过activerecord连接 OceanBase 数据库。 + +## 快速开始 + +在开始之前,需要先确保 mysql2,activerecord已安装。 + +安装命令 + +``` +gem install activerecord +gem install mysql2 +``` + +以 [example.rb](example.rb) 为例。 +``` +require 'active_record' + +# 数据库配置 +db_config = { + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + username: 'root', + password: '', + database: 'test' +} + +begin + # 建立连接 + ActiveRecord::Base.establish_connection(db_config) + + # 测试连接是否成功 + connection = ActiveRecord::Base.connection + result = connection.active? # 检查数据库连接是否有效 + + if result + puts "成功连接到OceanBase数据库" + else + puts "连接到OceanBase数据库失败" + end + +rescue StandardError => e + puts "连接到OceanBase数据库时发生错误: #{e.message}" +ensure + ActiveRecord::Base.connection.close if ActiveRecord::Base.connected? +end +``` + +修改代码中的连接信息,之后你就可以直接使用命令行运行示例代码。 + +```bash +sh run.sh +``` + ActiveRecord::Base.connection.close if ActiveRecord::Base.connected? +end diff --git a/ruby/activerecord/README.md b/ruby/activerecord/README.md new file mode 100644 index 0000000..9eea9db --- /dev/null +++ b/ruby/activerecord/README.md @@ -0,0 +1,58 @@ +# Ruby Connection OceanBase Guide (activerecord) + +English | [简体中文](README-CN.md) + +This article introduces how to connect to OceanBase database through activerecord. + +## Quick Start + +Before starting, it is necessary to ensure that mysql2,activerecord is installed. + +Installation command + +``` +gem install activerecord +gem install mysql2 +``` + +Taking [example.rb](example.rb) as an example. + +``` +require 'active_record' + +# 数据库配置 +db_config = { + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + username: 'root', + password: '', + database: 'test' +} + +begin + # 建立连接 + ActiveRecord::Base.establish_connection(db_config) + + # 测试连接是否成功 + connection = ActiveRecord::Base.connection + result = connection.active? # 检查数据库连接是否有效 + + if result + puts "成功连接到OceanBase数据库" + else + puts "连接到OceanBase数据库失败" + end + +rescue StandardError => e + puts "连接到OceanBase数据库时发生错误: #{e.message}" +ensure + ActiveRecord::Base.connection.close if ActiveRecord::Base.connected? +end +``` + +Modify the connection information in the code, and then you can directly run the example code using the command line. + +```bash +sh run.sh +``` diff --git a/ruby/activerecord/example.rb b/ruby/activerecord/example.rb new file mode 100644 index 0000000..b52080b --- /dev/null +++ b/ruby/activerecord/example.rb @@ -0,0 +1,31 @@ +require 'active_record' + +# 数据库配置 +db_config = { + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + username: 'root', + password: '', + database: 'test' +} + +begin + # 建立连接 + ActiveRecord::Base.establish_connection(db_config) + + # 测试连接是否成功 + connection = ActiveRecord::Base.connection + result = connection.active? # 检查数据库连接是否有效 + + if result + puts "成功连接到OceanBase数据库" + else + puts "连接到OceanBase数据库失败" + end + +rescue StandardError => e + puts "连接到OceanBase数据库时发生错误: #{e.message}" +ensure + ActiveRecord::Base.connection.close if ActiveRecord::Base.connected? +end diff --git a/ruby/activerecord/run.sh b/ruby/activerecord/run.sh new file mode 100644 index 0000000..62249b7 --- /dev/null +++ b/ruby/activerecord/run.sh @@ -0,0 +1,3 @@ +gem install activerecord +gem install mysql2 +ruby example.rb diff --git a/ruby/mysql2/README-CN.md b/ruby/mysql2/README-CN.md new file mode 100644 index 0000000..7c058a2 --- /dev/null +++ b/ruby/mysql2/README-CN.md @@ -0,0 +1,68 @@ +# Ruby连接 OceanBase 指南(mysql2) + +[English](README.md) | 简体中文 + +本文介绍如何通过 mysql2驱动连接 OceanBase 数据库。 + +## 快速开始 + +在开始之前,需要先确保 mysql2已安装。 + +安装命令 + +``` +gem install mysql2 +``` + +以 [example.rb](example.rb) 为例。 + +``` +require 'mysql2' + +def connect_to_oceanbase(host, port, username, password, database) + begin + # 创建数据库连接 + client = Mysql2::Client.new( + host: host, + port: port, + username: username, + password: password, + database: database + ) + + puts "连接到OceanBase数据库成功" + + # 执行一个简单的查询 + results = client.query("SELECT DATABASE();") + + results.each do |row| + puts "连接到的数据库: #{row['DATABASE()']}" + end + + # 你可以在这里执行其他的SQL查询或操作 + + client.close + puts "MySQL连接已关闭" + + rescue Mysql2::Error => e + puts "连接到OceanBase数据库失败: #{e.error}" + end +end + +if __FILE__ == $0 + connect_to_oceanbase( + '127.0.0.1', + 2881, + 'root', + '', + 'test' + ) +end + +``` + +修改代码中的连接信息,之后你就可以直接使用命令行运行示例代码。 + +```bash +sh run.sh +``` diff --git a/ruby/mysql2/README.md b/ruby/mysql2/README.md new file mode 100644 index 0000000..f42a5bb --- /dev/null +++ b/ruby/mysql2/README.md @@ -0,0 +1,68 @@ +# Ruby Connection OceanBase Guide (Mysql2) + +English | [简体中文](README-CN.md) + +This article introduces how to connect to OceanBase database through mysql2 driver. + +## Quick Start + +Before starting, it is necessary to ensure that mysql2 is installed. + +Installation command + +``` +gem install mysql2 +``` + +Taking [example.rb](example.rb) as an example. + +```python +require 'mysql2' + +def connect_to_oceanbase(host, port, username, password, database) + begin + # 创建数据库连接 + client = Mysql2::Client.new( + host: host, + port: port, + username: username, + password: password, + database: database + ) + + puts "连接到OceanBase数据库成功" + + # 执行一个简单的查询 + results = client.query("SELECT DATABASE();") + + results.each do |row| + puts "连接到的数据库: #{row['DATABASE()']}" + end + + # 你可以在这里执行其他的SQL查询或操作 + + client.close + puts "MySQL连接已关闭" + + rescue Mysql2::Error => e + puts "连接到OceanBase数据库失败: #{e.error}" + end +end + +if __FILE__ == $0 + connect_to_oceanbase( + '127.0.0.1', + 2881, + 'root', + '', + 'test' + ) +end + +``` + +Modify the connection information in the code, and then you can directly run the example code using the command line. + +```bash +sh run.sh +``` diff --git a/ruby/mysql2/example.rb b/ruby/mysql2/example.rb new file mode 100644 index 0000000..8aeda6a --- /dev/null +++ b/ruby/mysql2/example.rb @@ -0,0 +1,41 @@ +require 'mysql2' + +def connect_to_oceanbase(host, port, username, password, database) + begin + # 创建数据库连接 + client = Mysql2::Client.new( + host: host, + port: port, + username: username, + password: password, + database: database + ) + + puts "连接到OceanBase数据库成功" + + # 执行一个简单的查询 + results = client.query("SELECT DATABASE();") + + results.each do |row| + puts "连接到的数据库: #{row['DATABASE()']}" + end + + # 你可以在这里执行其他的SQL查询或操作 + + client.close + puts "MySQL连接已关闭" + + rescue Mysql2::Error => e + puts "连接到OceanBase数据库失败: #{e.error}" + end +end + +if __FILE__ == $0 + connect_to_oceanbase( + '127.0.0.1', + 2881, + 'root', + '', + 'test' + ) +end diff --git a/ruby/mysql2/run.sh b/ruby/mysql2/run.sh new file mode 100644 index 0000000..e17174b --- /dev/null +++ b/ruby/mysql2/run.sh @@ -0,0 +1,2 @@ +gem install mysql2 +ruby example.rb diff --git a/ruby/sequel/README-CN.md b/ruby/sequel/README-CN.md new file mode 100644 index 0000000..469799e --- /dev/null +++ b/ruby/sequel/README-CN.md @@ -0,0 +1,44 @@ +# Ruby连接 OceanBase 指南(sequel) + +[English](README.md) | 简体中文 + +本文介绍如何通过sequel连接 OceanBase 数据库。 + +## 快速开始 + +在开始之前,需要先确保 mysql2,sequel已安装。 + +安装命令 + +``` +gem install sequel +gem install mysql2 +``` + +以 [example.rb](example.rb) 为例。 +``` +require 'sequel' + +# 连接到OceanBase数据库 +DB = Sequel.connect( + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + user: 'root', + password: '', + database: 'test' +) + +if DB.test_connection + puts "成功连接到OceanBase数据库" +else + puts "连接到OceanBase数据库失败" +end + +``` + +修改代码中的连接信息,之后你就可以直接使用命令行运行示例代码。 + +```bash +sh run.sh +``` diff --git a/ruby/sequel/README.md b/ruby/sequel/README.md new file mode 100644 index 0000000..2471667 --- /dev/null +++ b/ruby/sequel/README.md @@ -0,0 +1,45 @@ +# Ruby Connection OceanBase Guide (sequel) + +English | [简体中文](README-CN.md) + +This article introduces how to connect to OceanBase database through sequel. + +## Quick Start + +Before starting, it is necessary to ensure that mysql2,sequel is installed. + +Installation command + +``` +gem install sequel +gem install mysql2 +``` + +Taking [example.rb](example.rb) as an example. + +``` +require 'sequel' + +# 连接到OceanBase数据库 +DB = Sequel.connect( + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + user: 'root', + password: '', + database: 'test' +) + +if DB.test_connection + puts "成功连接到OceanBase数据库" +else + puts "连接到OceanBase数据库失败" +end + +``` + +Modify the connection information in the code, and then you can directly run the example code using the command line. + +```bash +sh run.sh +``` diff --git a/ruby/sequel/example.rb b/ruby/sequel/example.rb new file mode 100644 index 0000000..df16ae3 --- /dev/null +++ b/ruby/sequel/example.rb @@ -0,0 +1,17 @@ +require 'sequel' + +# 连接到OceanBase数据库 +DB = Sequel.connect( + adapter: 'mysql2', + host: '127.0.0.1', + port: 2881, + user: 'root', + password: '', + database: 'test' +) + +if DB.test_connection + puts "成功连接到OceanBase数据库" +else + puts "连接到OceanBase数据库失败" +end diff --git a/ruby/sequel/run.sh b/ruby/sequel/run.sh new file mode 100644 index 0000000..1969512 --- /dev/null +++ b/ruby/sequel/run.sh @@ -0,0 +1,3 @@ +gem install sequel +gem install mysql2 +ruby example.rb