π§
"Π ΠΊΠ°ΠΊ ΡΠ΅Π±Π΅ drizzle?" π§ΠΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΡΠ― Π΄Π°ΠΆΠ΅ Π΄ΡΠΌΠ°Π» ΡΠ΄Π΅Π»Π°ΡΡ ΠΎ
Drizzle ORM ΠΏΡΠ΅ΠΏΠΈΡΠΊΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΏΠΎΡΡΡ:Β "ΡΡΠΎ Π²ΡΠΎΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ kysely"Π‘ΠΌΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ: βΒ Drizzle Π΄Π°Π»ΡΡΠ΅ ΠΎΡ SQL, ΡΠ΅ΠΌ kysely: Ρ Drizzle ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ "with: { ... }", ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² SQL, Π·Π½Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠΏΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π° Π² kysely ΡΠΎΠ»ΡΠΊΠΎ SQL Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, join ΠΈΠ»ΠΈ json_agg), ΠΏΡΠΈΡΠ΅ΠΌ
ΠΎΡΠ΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅βΒ ΠΠ»Ρ kysely Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ (type, interface) ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ, ΡΡΠΎ ΡΡΠΏΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π°ΠΆΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ (Ρ Π½Π°Ρ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ», ΠΌΡ ΠΏΠΎΡΠΎΠΌ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ, Π½ΠΎ ΡΠΊΠΎΡΠΎ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠ²ΠΎΠΉ), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ (ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΡΠ°ΠΉΠ», ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠΈΠΏΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅Ρ ΡΠΈΠΏΡ), Π° Π² drizzle ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ (ΠΎΠ½Π° Π»ΠΎΠΌΠ°Π»Π°ΡΡ Π½Π° Π½Π°ΡΠΈΡ
Π±Π°Π·Π°Ρ
ΠΈΠ·-Π·Π° Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΡΡΠΈ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΈΠΏΠ°ΠΌ) + Ρ ΠΏΠΎΠΊΠ° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Π΅Π³ΠΎ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡβΒ ΠΠΠ₯Π Ρ kysely Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΠΎ Ρ ΡΡΠ΅ΡΠΎΠΌ, ΡΡΠΎ kysely ΡΡΠ°Π±ΠΎΡΠ°Π», Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²ΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°ΠΆΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° drizzle, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
kysely Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΌΠΎΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΡ βΒ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡ)