Connect with Ruby

SingleStore is wire-compliant with MySQL. To connect to your database with Ruby, you can use:

  • Standard Ruby

  • Ruby on Rails

Connect with Standard Ruby

For a complete example, including samples of CRUD operations, see GitHub.

Prerequisites

  • Ruby (version 2.6.x or 3.x)

  • mysql2 gem

Connection Details

To connect your Ruby application to your workspace, you'll need the following:

  • Host: the endpoint or IP Address of your SingleStore Helios workspace.

  • Port: default is 3306

  • User: admin

  • Password

  • Database

Here is an example of a Ruby connection for a SingleStore Helios workspace:

client = Mysql2::Client.new(
:host => "svc-1234ebc1-ab6f-123d-8e67-cd5d066ca0e8-ddl.aws-region-1.svc.singlestore.com",
:username => "admin",
:password => "<admin password>",
:database => "test"
)

For more examples, see Getting started with SingleStore stored procedures and Ruby.

Connect with Ruby on Rails

To connect with Ruby on Rails, configure your SingleStore Helios.

Open config/database.yml and edit the development adapter to use MySQL. You will need to have the SingleStore Helios socket which can be found using the query show variables like 'socket'.

$ mysql -u root -h 127.1 -P 3306 -e "show variables like 'socket'"
+---------------+---------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------------------------------------------------------+
| socket | /var/lib/memsql-ops/data/installs/MI85eaf8fca04849888be7f1a9a596210e/data/memsql.sock |
+---------------+---------------------------------------------------------------------------------------+

SingleStore Helios can run queries using the mysql2 connector in controller code. Calling execute returns a mysql2 result, which can be converted to an array and easily displayed:

class WelcomeController < ApplicationController
def index
render plain: ActiveRecord::Base.connection.execute('show databases').to_a.join(' ')
end
end

Last modified: December 14, 2022

Was this article helpful?