Π¦Π΅Π»Ρ:
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Hasura.io (v2) ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ. ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Hasura actions ΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π²ΠΎΠΊΡΡΠ³ PGsql.
ΠΠ°Π΄Π°ΡΠ°
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΠΏΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. Π― Ρ ΠΎΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΡΠ½ΠΎΡΡΠΈ:
- ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
- ΡΡΡΠ»ΠΊΡ Π½Π° Π°Π²ΡΠΎΡΠ°
- Π΄Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
- ΡΡΠ°ΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
- ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΠΎΠ² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ (0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅)
- ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° (Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄Π½Π°)
- ΡΠ΅Π³
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³Π°
- ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ²
- Π°Π²ΡΠΎΡΡ
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΅ΠΌΠ΅ΠΉΠ»
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° (Π°Π²ΡΠΎΡ\Π°Π΄ΠΌΠΈΠ½)
ΠΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ 3 Π²ΠΈΠ΄Π° ΡΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
- Public: Π΄ΠΎΡΡΡΠΏ Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈ ΠΏΠΎΠΈΡΠΊ Π²ΡΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
- Author: Π°Π²ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΡΡΡ ΠΈ ΡΠ΅Π³ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ Π΅ΠΌΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ
- Admin: ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π½ΠΎΠ²ΡΡ Π°Π²ΡΠΎΡΠΎΠ², Π° ΡΠ°ΠΊ ΠΆΠ΅ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π°Π²ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ
Actions Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π° nodejs, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ fastify, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²Π·ΡΡΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΠΠ:
- ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ: ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΊΠ΅Π½Π° Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ (ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΡΡΠΈΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ»ΠΈ)
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ: ΠΊΡΠΎΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΡΡΠ°ΡΠΈΠ΅ΠΉ (Π² Π²ΠΈΠ΄Π΅ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ) ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ΅ΡΠ΅Π· actions. ΠΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π° https://imgur.com/upload ΠΈ ΠΏΠΎΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠ»ΠΊΡ ΡΠΆΠ΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π±Π΄: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΏΠΎ ΡΠ΅Π³Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³Π°Ρ , Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ . ΠΠΎΠΈΡΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ PG ΠΈ Hasura. Π‘Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π°Π²ΡΠΎΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΆΠ΅ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.
ΠΡΠ°ΠΏΡ:
- ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github
- ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ hasura
- ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ task, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π‘ Π½Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ PR Π½Π° ΠΌΠ°ΡΡΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ ΡΠ΅Π²ΡΡ.
- Π Π²Π΅ΡΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ docker-compose.yaml Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Ρ ΡΠΈΠ΄Π°ΠΌΠΈ.
- ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ: ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠ΅ΠΉΠ΄ΠΆ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ hasura cloud + Neon (instruction) - ΠΎΠ±Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π±Π΅ΡΠΏΠ»Π°ΡΠ½Ρ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠ°Ρ .
ΠΡΠΈΡΠ΅ΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ
- ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
- ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TS (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ strict mode)
- ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ
- ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ hasura ΠΈ postgresql (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ constraints Π½Π° ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°).
- ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ DDL.
- Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° pl-sql, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ Π»ΡΠ±Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ pl-sql
ΠΡΡΠ΅ΡΠ°ΠΊΡ
ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ PR, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΊΠ΅Π»Π΅Ρ hasura app. ΠΠ½ΡΡΡΠΈ PR Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ + ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠ΄ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.