SvelteKit 프로젝트 생성
https://kit.svelte.dev/docs/creating-a-project
$ npm create svelte@latest my-app $ cd my-app $ npm install $ npm run dev
EdgeDB 설치
https://www.edgedb.com/docs/cli/index 를 봐도 되는데, 나는 그냥 https://github.com/edgedb/homebrew-tap 보고 brew로 설치했음
$ brew install edgedb/tap/edgedb-cli
EdgeDB 생성 및 실행
https://www.edgedb.com/docs/intro/projects#initializing
$ edgedb project init $ npx @edgedb/generate edgeql-js $ edgedb ui
scheme 작성
-
dbschema/default.esdl
수정 - 로그인을 위해 미리
using extension auth
추가했음
using extension auth; module default { type user { name: str; } }
migration 생성 및 적용
$ edgedb migration create $ edgedb migrate
이후 브라우저에서 user 테이블에 테스트 사용자 추가
프로젝트에 EdgeDB 연결
https://www.npmjs.com/package/edgedb
$ npm i edgedb
app.d.ts
설정
import { Client } from "edgedb"; declare global { namespace App { interface Locals { db: Client; } } } export {};
hooks.server.js
설정
import * as edgedb from "edgedb"; export const handle = async ({ event, resolve }) => { const client = edgedb.createClient(); event.locals.db = client; return resolve(event, { filterSerializedResponseHeaders(name) { return name === "content-range"; } }); };
user 정보 가져오기
page.server.js
수정
export async function load({ locals }) { const user = await locals.db.query("select user { id, name }"); return { user }; }
orm을 사용하고 싶다면 https://www.edgedb.com/docs/clients/js/index 참고
Top comments (0)