Host your Astro database!
- AstroDB는 개발 환경에서 로컬 SQLite를 사용하고, 프로덕션 환경에서는 Turso와 같은 호스팅된 SQLite 서비스로 데이터를 푸시하는 Astro의 데이터베이스 솔루션입니다. 🚀
- Turso는 AstroDB의 프로덕션 데이터베이스 호스팅을 위한 SQLite 서비스로, Astro는 이제 Turso를 직접 활용하여 중간 단계를 제거했습니다. 🔗
- Turso CLI 설치 및
turso auth login을 통한 인증은 Turso 데이터베이스 설정의 필수적인 첫 단계입니다. 🔑
turso db create [db_name]으로 새 데이터베이스를 생성하고, turso db show [db_name] 명령어를 통해 원격 데이터베이스 URL을 확보해야 합니다. 🌐
.env 파일에 ASTRO_DB_REMOTE_URL과 ASTRO_DB_REMOTE_TOKEN 환경 변수를 설정하여 AstroDB와 Turso를 안전하게 연결합니다. 🛡️
npx astro db push 명령은 데이터베이스 스키마만 원격 Turso에 푸시하며, 초기 데이터는 포함되지 않습니다. 📤
npx astro db execute --remote [seed_file]를 사용하여 시드 데이터를 원격 프로덕션 데이터베이스에 업로드할 수 있습니다. 🌱
astro build --remote 또는 astro dev --remote 플래그를 통해 프로덕션 데이터베이스와 직접 상호작용할 수 있으나, 개발 모드에서 --remote 사용 시 프로덕션 데이터 손상에 대한 각별한 주의가 필요합니다. 🚨
- Astro 액션(예:
addComment)을 활용하여 프론트엔드에서 폼 데이터를 받아 데이터베이스에 추가하는 기능을 구현할 수 있습니다. ✍️
POST 요청을 처리하는 Astro 액션을 사용하려면 Vercel 어댑터와 같은 SSR(Server-Side Rendering) 어댑터가 필요합니다. ⚙️
- Turso의 무료 티어는 100개의 데이터베이스와 5GB의 스토리지를 제공하여 많은 소규모 프로젝트에 충분한 자원을 제공합니다. 🎁
- LibSQL을 통한 암호화된 데이터베이스 지원 및 HTTP/WebSockets 전송 프로토콜 등 다양한 고급 구성 옵션도 제공됩니다. 🔒