Slide 1

Slide 1 text

sqlcΛར༻ͯ͠sqlʹܕ෇͚Λ kansai.ts #8 2024.10.2 @kamiyam

Slide 2

Slide 2 text

ࣗݾ঺հ ͔Έ΍Μ (Twitter@kamiyam) ݩࣗಈं੔උ࢜ METEORWORKS Inc. Engineer ϑϩϯτʙ όοΫΤϯυNode.jsશൠ

Slide 3

Slide 3 text

What is sqlc?

Slide 4

Slide 4 text

IUUQTTRMDEFW

Slide 5

Slide 5 text

TRMDHFOFSBUF TRMDZNMΛར༻ͯ͠ίʔυΛੜ੒͢Δ IUUQTEPDTTRMDEFWFOMBUFTUIPXUPHFOFSBUFIUNM

Slide 6

Slide 6 text

sqlcࣗମ͸CLIπʔϧͱͯ͠ Πϯετʔϧ͢ΔܗͰར༻͢Δ͜ͱʹͳΔ (MacͳΒbrewͳͲ)

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

SQLϑΝΠϧΛಡΈऔͬͯɺgoίʔυΛੜ੒͢Δπʔϧ

Slide 9

Slide 9 text

Goݴޠ?

Slide 10

Slide 10 text

IUUQTHJUIVCDPNTRMDEFWTRMDHFOUZQFTDSJQU

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

plugin ͱͯ͠ TypeScript޲͚ SQLϑΝΠϧ͔Βܕ҆શͳίʔυΛੜ੒͢Δ

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Supported engines and drivers - PostgreSQL via pg or postgres. - MySQL via mysql2. - SQLite via sqlite3.

Slide 15

Slide 15 text

؀ڥʹsqlcΛΠϯετʔϧ͢ΔͷΛආ͚ DockerΛ͔Β࣮ߦ͢Δํ๏΋

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

How to use sqlc.

Slide 18

Slide 18 text

IUUQTHJUIVCDPNTRMDEFWTRMDHFOUZQFTDSJQUCMPC NBJOFYBNQMFTBVUIPSTNZTRMRVFSZTRM

Slide 19

Slide 19 text

IUUQTEPDTTRMDEFWFOTUBCMFSFGFSFODFRVFSZBOOPUBUJPOTIUNM

Slide 20

Slide 20 text

%&.0

Slide 21

Slide 21 text

Tips. PostgreSQL ͷํ͕खް͘αϙʔτͯͦ͠͏ MySQL Ͱ͸ insertޙͷid ͢Β… ϚΠάϨʔγϣϯʹ͸ରԠ͍ͯ͠ͳ͍ͷͰ ผͷϥΠϒϥϦΛ࢖͏ඞཁ͕͋Δ

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

sqlc-gen-typescript ͷ࠷৽ίʔυΛϏϧυͯ͠ v0.1.3Ͱ͸ར༻Ͱ͖ͳ͍ execlastid Λར༻͢Δ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

ϩʔΧϧͷίϚϯυͰ͸͍͚Δ͕ EPDLFSͰ͏·͍͔ͣ͘ʜ

Slide 26

Slide 26 text

Why use sqlc?

Slide 27

Slide 27 text

rLBNJZBN lͦΕͧΕͷ03Ϛούʔͷهड़Λ֮͑ΔͷͰ͋Ε͹ 42-Λॻ͍ͨํ͕͍͍ʢ͔΋͠Εͳ͍ʣz

Slide 28

Slide 28 text

ͳ͓sqlc(-gen-typescript)Λ࢖͓͏ͱࢥͬͯ ϓϩδΣΫτͷnextϒϥϯνʹೖΕͨཌ೔

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 31

Slide 31 text

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