Turso로 마이그레이션하기
Turso로 마이그레이션하기 (Migrate to Turso)
기존에 쓰던 SQLite 데이터베이스를 Turso로 옮기고 싶으신가요? 이 가이드는 마이그레이션 과정을 처음부터 끝까지 안내해요. Turso CLI를 쓰는 방법과 Platform API를 쓰는 방법 중 하나를 고를 수 있어요.
출처: 문서
본문
이 가이드는 기존 SQLite 데이터베이스를 Turso Cloud로 마이그레이션하는 과정을 안내해요. Turso CLI를 사용하거나 Platform API를 사용하는 방법 중에서 선택할 수 있어요.
마이그레이션 준비하기
SQLite 데이터베이스를 Turso로 가져오기 전에, Turso의 요구 사항과 호환되는지 확인해야 해요. 구체적으로는 데이터베이스가 WAL(Write-Ahead Logging) 모드를 사용하고 있어야 해요.
1. SQLite 데이터베이스 열기
SQLite 명령줄 도구나 아무 SQLite 클라이언트로 데이터베이스를 여세요:
sqlite3 path/to/your/database.db
2. WAL 저널 모드 설정
다음 명령을 실행해 데이터베이스를 WAL 모드로 전환하세요:
PRAGMA journal_mode='wal';
wal이 반환되면 변경이 성공한 거예요.
3. WAL 파일 체크포인트 및 truncate
체크포인트를 실행해 모든 변경 사항이 메인 데이터베이스 파일에 기록되게 하고, WAL 파일을 truncate하세요:
PRAGMA wal_checkpoint(truncate);
4. 저널 모드 확인
데이터베이스가 이제 WAL 모드인지 확인하세요:
PRAGMA journal_mode;
wal이 반환되어야 해요.
5. 데이터베이스 닫기
SQLite 셸을 종료하세요:
.exit
이제 데이터베이스가 Turso로 마이그레이션할 준비가 됐어요.
CLI 사용하기
Turso CLI로 로컬 SQLite 파일에서 새 데이터베이스를 만들 수 있어요:
1. Turso CLI 설치하기
Turso CLI가 설치되어 있고 인증되어 있는지 확인하세요.
2. SQLite 데이터베이스 가져오기
db import 명령으로 기존 SQLite 데이터베이스 파일을 가져오세요:
turso db import ~/path/to/my-database.db
데이터베이스는 파일 이름(확장자 .db 제외)을 따서 명명되고, 모든 테이블과 데이터, 스키마가 그대로 가져와져요.
3. 데이터베이스에 연결하기
이제 셸로 데이터베이스에 연결할 수 있어요:
turso db shell <database-name>
Platform API 사용하기
Platform API를 사용해 기존 SQLite 데이터베이스를 마이그레이션할 수도 있어요:
1. Turso CLI로 가입 또는 로그인하기
아직 없다면 Turso CLI를 설치하세요.
# Signup
turso auth signup
# Login
turso auth login
2. 새 Platform API 토큰 만들기
Turso CLI로 새 API 토큰을 만드세요:
turso auth api-tokens mint quickstart
토큰은 안전한 곳에 저장해 두세요. 데이터베이스와 데이터베이스 토큰을 만들 때 필요해요.
3. 계정 또는 조직 slug 알아내기
Platform API는 개인 계정으로도 조직으로도 사용할 수 있어요. Turso CLI로 계정이나 조직의 slug를 알아내야 해요:
turso org list
4. 가져오기용 데이터베이스 만들기
먼저 가져오기를 받을 준비가 된 데이터베이스를 만드세요:
curl -X POST "https://api.turso.tech/v1/organizations/{organizationSlug}/databases" \
-L \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{
"name": "new-database",
"group": "default",
"seed": { "type": "database_upload" }
}'
"type": "database_upload"를 담은 seed 매개변수는 데이터베이스 파일을 업로드할 계획임을 나타내요. 업로드를 진행하지 않으면 이 데이터베이스는 할당량(quota)에는 포함되지만 사용할 수는 없어요.
5. 데이터베이스 토큰 만들기
데이터베이스의 인증 토큰을 생성하세요:
curl -X POST "https://api.turso.tech/v1/organizations/{organizationSlug}/databases/{databaseName}/auth/tokens" \
-L \
-H "Authorization: Bearer ***"
이 토큰은 업로드 요청과 이후 데이터베이스로의 요청을 인증하는 데 사용돼요.
6. SQLite 데이터베이스 업로드하기
마지막으로 SQLite 데이터베이스 파일을 업로드하세요:
curl -X POST "https://{databaseName}-{organizationSlug}.turso.io/v1/upload" \
-H "Authorization: Bearer ***" \
--data-binary @/path/to/your/database.db
Authorization 헤더는 Platform API 토큰이 아니라 이전 단계에서 생성한 데이터베이스 토큰을 사용해요.
이제 어떤 Turso 클라이언트 라이브러리로도 새 Turso 데이터베이스에 연결할 준비가 됐어요.
더 알아보기 (Learn more)
- Python 연결 가이드 — 마이그레이션 후 Python으로 연결하기
- JavaScript 연결 가이드 — 마이그레이션 후 JavaScript로 연결하기
- Go 연결 가이드 — 마이그레이션 후 Go로 연결하기
- Turso CLI 시작하기 (Introduction) — CLI 설치와 인증
- 제한 사항 (Limitations) — 마이그레이션 시 알아 둘 차이점