-
SvelteKit + Supabase 막무가내로 연결하기스터디/Web 2025. 6. 1. 15:41
1. SvelteKit 설치
npx sv create my-app
cd my-app
npm install
npm run dev2. DB 연결
용어정리부터 하고갑시다.
Drizzle ORM:
Drizzle ORM은 Supabase와 함께 사용하도록 설계되었습니다. Supabase는 PostgreSQL을 기반으로 하므로, Drizzle의 PostgreSQL 드라이버를 사용하여 Supabase 데이터베이스에 연결할 수 있습니다.
Lucia:
Lucia는 데이터베이스 어댑터를 제공하며, Supabase 어댑터도 존재합니다. 이를 통해 Lucia를 Supabase의 인증 시스템과 통합할 수 있습니다.
데이터베이스 어댑터 (Database Adapter):
데이터베이스 어댑터는 특정 데이터베이스 시스템과 애플리케이션 사이의 중개자 역할을 하는 소프트웨어 컴포넌트입니다.
애플리케이션이 데이터베이스와 상호작용할 때, 직접 데이터베이스의 고유한 문법이나 프로토콜을 사용하는 대신, 어댑터를 통해 표준화된 방식으로 요청을 보냅니다. 어댑터는 이 요청을 해당 데이터베이스가 이해할 수 있는 형태로 변환하여 전달하고, 데이터베이스로부터 받은 응답을 애플리케이션이 처리하기 쉬운 형태로 변환해줍니다.
주요 역할:- 추상화: 애플리케이션이 특정 데이터베이스 기술에 종속되지 않도록 합니다. 데이터베이스가 변경되더라도, 해당 데이터베이스의 어댑터만 교체하면 애플리케이션 코드를 크게 수정하지 않아도 될 수 있습니다.
- 호환성: 다양한 데이터베이스 시스템과의 통신을 가능하게 합니다.
ORM (Object-Relational Mapping)
ORM은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 사이의 데이터를 변환하고 관리하는 기술입니다.
ORM을 사용하면 데이터베이스의 테이블을 프로그래밍 언어의 객체(클래스)와 매핑하여, 객체를 통해 데이터베이스의 데이터를 조작할 수 있습니다. 개발자는 SQL 쿼리를 직접 작성하는 대신, ORM이 제공하는 메서드를 사용하여 데이터를 생성, 조회, 수정, 삭제 (CRUD) 할 수 있습니다.
주요 역할:
- 객체와 관계형 데이터 간의 매핑: 테이블을 클래스로, 레코드를 객체로 매핑합니다.
- 데이터 접근 추상화: SQL 쿼리 작성을 줄여 개발 생산성을 향상시키고, 데이터베이스 종속성을 낮춥니다.
- 데이터 무결성 및 유효성 검사: ORM 레벨에서 데이터 유효성 검사를 수행할 수 있습니다.
PostgreSQL을 기반으로 한다는 말
"PostgreSQL을 기반으로 한다"는 것은 해당 소프트웨어나 서비스가 PostgreSQL이라는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)을 핵심 기술로 사용한다는 의미입니다.
정리하자면!
- Supabase (PostgreSQL 데이터베이스)와 Drizzle ORM은 직접적으로 연결되어 데이터를 주고받을 수 있습니다. Drizzle ORM은 PostgreSQL을 이해하고 이를 추상화하여 개발자가 더 쉽게 데이터베이스를 조작하도록 돕습니다.
- Lucia는 인증 기능을 제공하며, @lucia-auth/adapter-supabase 어댑터를 통해 Supabase와 연결되어 사용자 인증 관련 데이터를 Supabase 데이터베이스에 저장하고 관리하며 Supabase의 인증 기능을 활용합니다.
근데 아직도 뭔소린지 모르겠다. 직접 해봐야알 것 같다.
'스터디 > Web' 카테고리의 다른 글
250604 TIL (0) 2025.06.04