diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f207b26..b9517ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,9 @@ jobs: - name: 'springboot' language: 'java' with_oceanbase_container: true + - name: 'mysql2' + 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..455c7b4 --- /dev/null +++ b/ruby/README.md @@ -0,0 +1,3 @@ +## Introduction + +Please add Ruby samples in this directory. 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