Integrating Better Auth up with Drizzle (TanStack Start)
- Better Auth와 Drizzle ORM을 TanStack Start 프로젝트에 통합하는 과정을 라이브 코딩으로 시연했습니다. 🚀
- 로컬 PostgreSQL 데이터베이스를
docker-compose를 사용하여 쉽게 설정하고 Drizzle ORM을 위한 필수 패키지들을 설치했습니다. 🐳
- Better Auth의 Drizzle 어댑터를 활용하여 인증 시스템을 데이터베이스에 연결했으며, 사용자, 세션, 계정, 인증(verifications) 테이블 스키마 정의가 중요함을 강조했습니다. 🔑
- Better Auth 스키마 정의 과정에서 여러 예제 프로젝트를 참고하며 올바른
drizzle.config.ts 및 스키마 파일을 찾는 데 어려움을 겪었으나, 최종적으로 완전한 스키마를 찾아 적용했습니다. 🔍
- Drizzle 마이그레이션 스크립트 생성(
db:generate) 및 적용(db:migrate) 과정에서 경로 설정, 누락된 의존성(pg), 마이그레이션 메타 파일 문제 등 여러 오류를 해결했습니다. 🛠️
- 초기 로그인 실패 원인이 스키마에
verification 모델이 누락되었기 때문임을 파악하고, 더 완전한 스키마로 교체 후 데이터베이스를 재설정하여 문제를 해결했습니다. ✅
- 성공적인 통합 후, 해당 프로젝트를
tanstack-better-auth-template이라는 GitHub 템플릿으로 만들어 다른 개발자들이 쉽게 시작할 수 있도록 공유했습니다. 🎁
- TanStack Start에서 새로운 Drizzle 테이블(
todo)을 추가하고 마이그레이션하는 방법을 시연하며, 간단한 할 일 목록 애플리케이션을 통해 데이터베이스 연동의 실제 예시를 보여주었습니다. 📝
- TanStack Start의 서버 함수와 미들웨어 개념을 소개하며, 인증된 사용자만 특정 서버 함수를 호출할 수 있도록 세션 확인 미들웨어를 구현하는 방법을 설명했습니다. 🛡️