Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
sqlcを利用してsqlに型付けを
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kamiyam
October 02, 2024
Programming
630
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
sqlcを利用してsqlに型付けを
kamiyam
October 02, 2024
More Decks by kamiyam
See All by kamiyam
useImperativeHandle を迷いながら使った話
kamiyam
0
88
GraphQLで使うデータに TypeScriptで型を定義する
kamiyam
1
640
Other Decks in Programming
See All in Programming
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
250
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
250
Claspは野良GASの夢をみるか
takter00
0
200
さぁV100、メモリをお食べ・・・
nilpe
0
140
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
200
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
Lessons from Spec-Driven Development
simas
PRO
0
210
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
360
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.7k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
Believing is Seeing
oripsolob
1
150
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
WCS-LA-2024
lcolladotor
0
640
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
The agentic SEO stack - context over prompts
schlessera
0
820
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
The browser strikes back
jonoalderson
0
1.3k
Transcript
sqlcΛར༻ͯ͠sqlʹܕ͚Λ kansai.ts #8 2024.10.2 @kamiyam
ࣗݾհ ͔ΈΜ (Twitter@kamiyam) ݩࣗಈंඋ࢜ METEORWORKS Inc. Engineer ϑϩϯτʙ όοΫΤϯυNode.jsશൠ
What is sqlc?
IUUQTTRMDEFW
TRMDHFOFSBUF TRMDZNMΛར༻ͯ͠ίʔυΛੜ͢Δ IUUQTEPDTTRMDEFWFOMBUFTUIPXUPHFOFSBUFIUNM
sqlcࣗମCLIπʔϧͱͯ͠ Πϯετʔϧ͢ΔܗͰར༻͢Δ͜ͱʹͳΔ (MacͳΒbrewͳͲ)
None
SQLϑΝΠϧΛಡΈऔͬͯɺgoίʔυΛੜ͢Δπʔϧ
Goݴޠ?
IUUQTHJUIVCDPNTRMDEFWTRMDHFOUZQFTDSJQU
None
plugin ͱͯ͠ TypeScript͚ SQLϑΝΠϧ͔Βܕ҆શͳίʔυΛੜ͢Δ
None
Supported engines and drivers - PostgreSQL via pg or postgres.
- MySQL via mysql2. - SQLite via sqlite3.
ڥʹsqlcΛΠϯετʔϧ͢ΔͷΛආ͚ DockerΛ͔Β࣮ߦ͢Δํ๏
None
How to use sqlc.
IUUQTHJUIVCDPNTRMDEFWTRMDHFOUZQFTDSJQUCMPC NBJOFYBNQMFTBVUIPSTNZTRMRVFSZTRM
IUUQTEPDTTRMDEFWFOTUBCMFSFGFSFODFRVFSZBOOPUBUJPOTIUNM
%&.0
Tips. PostgreSQL ͷํ͕खް͘αϙʔτͯͦ͠͏ MySQL Ͱ insertޙͷid ͢Β… ϚΠάϨʔγϣϯʹରԠ͍ͯ͠ͳ͍ͷͰ ผͷϥΠϒϥϦΛ͏ඞཁ͕͋Δ
Refs. Compile SQL to type-safe code; catch failures before they
happen. https://sqlc.dev/ generate - Generating code https://docs.sqlc.dev/en/latest/howto/generate.html sqlc-gen-typescript https://github.com/sqlc-dev/sqlc-gen-typescript sqlc-gen-typescriptͰMySQLͰinsertޙͷID͕΄͍͠ https://qiita.com/Yuumillar/items/b1e3ec74eac725834735
sqlc-gen-typescript ͷ࠷৽ίʔυΛϏϧυͯ͠ v0.1.3Ͱར༻Ͱ͖ͳ͍ execlastid Λར༻͢Δ
None
ϩʔΧϧͷίϚϯυͰ͍͚Δ͕ EPDLFSͰ͏·͍͔ͣ͘ʜ
Why use sqlc?
rLBNJZBN lͦΕͧΕͷ03Ϛούʔͷهड़Λ֮͑ΔͷͰ͋Ε 42-Λॻ͍ͨํ͕͍͍ʢ͔͠Εͳ͍ʣz
ͳ͓sqlc(-gen-typescript)Λ͓͏ͱࢥͬͯ ϓϩδΣΫτͷnextϒϥϯνʹೖΕͨཌ
None
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
Refs. Announcing TypedSQL: Make your raw SQL queries type-safe with
Prisma ORM https://www.prisma.io/blog/announcing-typedsql-make-your-raw-sql- queries-type-safe-with-prisma-orm