본문 바로가기
WIKI 기술 지식 베이스

Ruby on Rails + Turso

원문 보기 위키 갱신

Ruby on Rails 프로젝트에 Turso를 몇 분 만에 세팅하는 방법이에요. libsql 어댑터를 통해 평소 쓰던 ActiveRecord API로 Turso 데이터베이스를 다룰 수 있어요.

출처: 문서

본문

(기술 프리뷰 배너 스니펫: 이 기능은 기술 프리뷰 단계예요)

사전 준비

시작하기 전에 아래 항목을 준비해 주세요:

1. libsql_activerecord 젬 설치하기

Gemfile에 다음을 추가해요:

gem 'libsql_activerecord'

그다음 실행해요:

bundle install

2. 데이터베이스 자격 증명 설정하기

retrieve-database-credentials.mdx 스니펫을 참고해 자격 증명을 확인하세요.

Turso 자격 증명을 Rails credentials 파일이나 환경 변수에 추가해요.

3. libsql 어댑터 사용하기

default: &default
  adapter: libsql
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  url: <%= ENV['TURSO_DATABASE_URL'] %>
  auth_token: <%= ENV['TURSO_AUTH_TOKEN'] %>
  path: storage/development.sqlite3 # For embedded replica

4. 마이그레이션 생성 및 실행하기

마이그레이션을 생성해요:

rails generate migration CreateProducts name:string description:text

마이그레이션을 실행해요:

rails db:migrate

5. 모델 정의하기

app/models/product.rb에 모델을 만들어요:

class Product < ApplicationRecord
  validates :name, presence: true
end

6. 컨트롤러에서 사용하기

이제 컨트롤러에서 ActiveRecord 메서드로 Turso 데이터베이스를 다룰 수 있어요:

class ProductsController < ApplicationController
  def index
    @products = Product.all
  end

  def create
    @product = Product.new(product_params)
    if @product.save
      redirect_to @product, notice: 'Product was successfully created.'
    else
      render :new
    end
  end

  private

  def product_params
    params.require(:product).permit(:name, :description)
  end
end

7. raw SQL 실행하기 (필요할 때)

raw SQL 쿼리도 실행할 수 있어요:

results = ActiveRecord::Base.connection.execute("SELECT * FROM products")

예제 (Examples)

더 알아보기 (Learn more)