Ruby on Rails + Turso
Ruby on Rails 프로젝트에 Turso를 몇 분 만에 세팅하는 방법이에요. libsql 어댑터를 통해 평소 쓰던 ActiveRecord API로 Turso 데이터베이스를 다룰 수 있어요.
출처: 문서
본문
(기술 프리뷰 배너 스니펫: 이 기능은 기술 프리뷰 단계예요)
사전 준비
시작하기 전에 아래 항목을 준비해 주세요:
- Turso CLI 설치
- Turso 가입 또는 로그인
- Rails 앱 보유 — 자세히 알아보기
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)
- Ruby on Rails App — 전체 소스 코드를 볼 수 있어요.