Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Beaver Bridge
Beaver Bridge

Posted on • Edited on

SvelteKit + EdgeDB

SvelteKit 프로젝트 생성

https://kit.svelte.dev/docs/creating-a-project

$npm create svelte@latest my-app$cdmy-app$npminstall$npm run dev
Enter fullscreen modeExit fullscreen mode

EdgeDB 설치

https://www.edgedb.com/docs/cli/index 를 봐도 되는데, 나는 그냥https://github.com/edgedb/homebrew-tap 보고 brew로 설치했음

$brewinstalledgedb/tap/edgedb-cli
Enter fullscreen modeExit fullscreen mode

EdgeDB 생성 및 실행

https://www.edgedb.com/docs/intro/projects#initializing

$edgedb project init$npx @edgedb/generate edgeql-js$edgedb ui
Enter fullscreen modeExit fullscreen mode

scheme 작성

  • dbschema/default.esdl 수정
  • 로그인을 위해 미리using extension auth 추가했음
using extension auth;module default {  type user {    name: str;  }}
Enter fullscreen modeExit fullscreen mode

migration 생성 및 적용

$edgedb migration create$edgedb migrate
Enter fullscreen modeExit fullscreen mode

이후 브라우저에서 user 테이블에 테스트 사용자 추가

프로젝트에 EdgeDB 연결

https://www.npmjs.com/package/edgedb

$npm i edgedb
Enter fullscreen modeExit fullscreen mode

app.d.ts 설정

import{Client}from"edgedb";declareglobal{namespaceApp{interfaceLocals{db:Client;}}}export{};
Enter fullscreen modeExit fullscreen mode

hooks.server.js 설정

import*asedgedbfrom"edgedb";exportconsthandle=async({event,resolve})=>{constclient=edgedb.createClient();event.locals.db=client;returnresolve(event,{filterSerializedResponseHeaders(name){returnname==="content-range";}});};
Enter fullscreen modeExit fullscreen mode

user 정보 가져오기

page.server.js 수정

exportasyncfunctionload({locals}){constuser=awaitlocals.db.query("select user { id, name }");return{user};}
Enter fullscreen modeExit fullscreen mode

orm을 사용하고 싶다면https://www.edgedb.com/docs/clients/js/index 참고

auth 사용하기

https://www.edgedb.com/docs/guides/auth/index

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

  • Location
    Seoul, Korea
  • Joined

More fromBeaver Bridge

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp