Пословна Π»ΠΎΠ³ΠΈΠΊΠ° Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° користСћи Π‘Ρ†Ρ…Π΅ΠΌΠ°ΠšΠ΅Π΅ΠΏΠ΅Ρ€

Π‘Π²Ρ€Ρ…Π° ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ° јС Π΄Π° користимо ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ шСма-Ρ‡ΡƒΠ²Π°Ρ€ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒ Π°Π»Π°Ρ‚Π΅ који ΠΌΠΎΠ³Ρƒ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ Π΄Π° ΠΏΠΎΡ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π΅ процСс Ρ€Π°Π·Π²ΠΎΡ˜Π° Π±Π°Π·Π° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ ΠΎΠΊΠ²ΠΈΡ€Ρƒ ПΠ₯П ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π° ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ΠΌ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› Π”Π‘ΠœΠ‘.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΈΠ· ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ° Ρ›Π΅, ΠΏΡ€Π΅ свСга, Π±ΠΈΡ‚ΠΈ кориснС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΠΌΠ° који ΠΆΠ΅Π»Π΅ Π΄Π° максимално искористС ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› могућности, Π°Π»ΠΈ сС ΡΡƒΠΎΡ‡Π°Π²Π°Ρ˜Ρƒ са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΠΌΠ° Ρƒ ΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΡšΡƒ пословнС Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΠΌΠ΅ΡˆΡ‚Π΅Π½Π΅ Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°.

Овај Ρ‡Π»Π°Π½Π°ΠΊ Π½Π΅Ρ›Π΅ описати прСдности ΠΈΠ»ΠΈ нСдостаткС Ρ‡ΡƒΠ²Π°ΡšΠ° пословнС Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. ΠŸΡ€Π΅Ρ‚ΠΏΠΎΡΡ‚Π°Π²Ρ™Π° сС Π΄Π° јС Ρ‡ΠΈΡ‚Π°Π»Π°Ρ† Π²Π΅Ρ› Π½Π°ΠΏΡ€Π°Π²ΠΈΠΎ ΠΈΠ·Π±ΠΎΡ€.

Π Π°Π·ΠΌΠ°Ρ‚Ρ€Π°Ρ›Π΅ сС слСдСћа ΠΏΠΈΡ‚Π°ΡšΠ°:

  1. Π£ ΠΊΠΎΠΌ ΠΎΠ±Π»ΠΈΠΊΡƒ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Ρ‡ΡƒΠ²Π° Π΄ΡƒΠΌΠΏ структурС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ систСму Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Π° (Ρƒ Π΄Π°Ρ™Π΅ΠΌ тСксту Π’Π¦Π‘)
  2. Како ΠΏΡ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π½Π°ΠΊΠΎΠ½ Ρ‡ΡƒΠ²Π°ΡšΠ° Π΄ΡƒΠΌΠΏΠ°
  3. Како ΠΏΡ€Π΅Π½Π΅Ρ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π΄Ρ€ΡƒΠ³Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΠ° Π±Π΅Π· сукоба ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ
  4. Како ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ процСс ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΠ³ Ρ€Π°Π΄Π° Π½Π° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°
  5. Како Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ вишС ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ

    Π‘Ρ†Ρ…Π΅ΠΌΠ°ΠšΠ΅Π΅ΠΏΠ΅Ρ€ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π΄ са ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠ° написаним Π½Π° Ρ˜Π΅Π·ΠΈΠΊΡƒ ΠŸΠ› / ΠΏΠ³Π‘ΠšΠ›. Π’Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ са Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ˜Π΅Π·ΠΈΡ†ΠΈΠΌΠ° нијС ΠΎΠ±Π°Π²Ρ™Π΅Π½ΠΎ, Ρ‚Π°ΠΊΠΎ Π΄Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΌΠΎΠΆΠ΄Π° Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Ρ‚Π°ΠΊΠΎ Сфикасна ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΄Π° Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ›Π°.

Како сачувати Π΄ΡƒΠΌΠΏ структурС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π’Π¦Π‘

Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шСма-Ρ‡ΡƒΠ²Π°Ρ€ ΠΏΡ€ΡƒΠΆΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ saveDump, који Ρ‡ΡƒΠ²Π° структуру свих ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚Π° ΠΈΠ· Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΊΠ°ΠΎ засСбнС тСкстуалнС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅. Излаз јС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ који садрТи структуру Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°, ΠΏΠΎΠ΄Π΅Ρ™Π΅Π½Ρƒ Ρƒ груписанС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ којС сС Π»Π°ΠΊΠΎ ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Ρƒ Π’Π¦Π‘.

Π₯ајдС Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ ΠΏΡ€Π΅Ρ‚Π²Π°Ρ€Π°ΡšΠ΅ ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚Π° ΠΈΠ· Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ користСћи Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π’ΠΈΠΏ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π°
Π‘Ρ…Π΅ΠΌΠ°
ИмС
Π Π΅Π»Π°Ρ‚ΠΈΠ²Π½Π° ΠΏΡƒΡ‚Π°ΡšΠ° Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅

Π ΡƒΠ  Β° Π€ Β± Π€ "ΠΈΠΊΡ€Π΅ † П Β°
Ρ˜Π°Π²Π½ΠΎΡΡ‚
Ρ€Π°Ρ‡ΡƒΠ½ΠΈ
./public/tables/accounts.txt

Π‘Π°Ρ‡ΡƒΠ²Π°Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°
Ρ˜Π°Π²Π½ΠΎΡΡ‚
Π°ΡƒΡ‚Ρ… (Ρ…Π΅Ρˆ Π±ΠΈΠ³ΠΈΠ½Ρ‚)
./public/functions/auth(int8).sql

Π£Π²ΠΎΠ΄
Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡΠ°ΡšΠ΅
Ρ‚Π°Ρ€ΠΈΡ„Π΅
./booking/views/tariffs.txt

Π‘Π°Π΄Ρ€ΠΆΠ°Ρ˜ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° јС тСкстуални ΠΏΡ€ΠΈΠΊΠ°Π· структурС ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠ³ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π° Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΡΠ°Π΄Ρ€ΠΆΠ°Ρ˜ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΡƒΠ½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΠΏΠΎΡ‡Π΅Π²ΡˆΠΈ ΠΎΠ΄ Π±Π»ΠΎΠΊΠ° CREATE OR REPLACE FUNCTION.

Као ΡˆΡ‚ΠΎ сС ΠΌΠΎΠΆΠ΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ ΠΈΠ· Π³ΠΎΡ€ΡšΠ΅ Ρ‚Π°Π±Π΅Π»Π΅, ΠΏΡƒΡ‚Π°ΡšΠ° Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρ‡ΡƒΠ²Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ Ρ‚ΠΈΠΏΡƒ, шСми ΠΈ Π½Π°Π·ΠΈΠ²Ρƒ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π°. Овај приступ олакшава Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡ˜Ρƒ ΠΊΡ€ΠΎΠ· Π΄ΡƒΠΌΠΏ ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°.

ΠΏΡ€ΠΎΠ΄ΡƒΠΆΠ΅Ρ‚Π°ΠΊ .sql Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ са ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΠΎΠ²ΠΎ јС ΠΈΠ·Π°Π±Ρ€Π°Π½ΠΎ Ρ‚Π°ΠΊΠΎ Π΄Π° Π˜Π”Π• аутоматски ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΡƒΡ˜Π΅ Π°Π»Π°Ρ‚Π΅ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Ρƒ са Π±Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΊΠ°Π΄Π° сС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚Π²ΠΎΡ€ΠΈ.

Како ΠΏΡ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π½Π°ΠΊΠΎΠ½ Ρ‡ΡƒΠ²Π°ΡšΠ° Π΄ΡƒΠΌΠΏΠ°

Π§ΡƒΠ²Π°ΡšΠ΅ΠΌ Π΄ΡƒΠΌΠΏΠ° Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ структурС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π’Π¦Π‘-Ρƒ, добијамо ΠΏΡ€ΠΈΠ»ΠΈΠΊΡƒ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ Π΄Π° Π»ΠΈ су Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²Ρ™Π΅Π½Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Π½Π°ΠΊΠΎΠ½ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° Π΄Π°ΠΌΠΏΠ°. Π£ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ†ΠΈ шСма-Ρ‡ΡƒΠ²Π°Ρ€ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Ρ’Π΅Π½Π° јС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° verifyDump, који Π²Ρ€Π°Ρ›Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ Ρ€Π°Π·Π»ΠΈΠΊΠ°ΠΌΠ° Π±Π΅Π· Π½Π΅ΠΆΠ΅Ρ™Π΅Π½ΠΈΡ… Π΅Ρ„Π΅ΠΊΠ°Ρ‚Π°.

АлтСрнативни Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅ јС Π΄Π° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ·ΠΎΠ²Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ saveDump, Π½Π°Π²ΠΎΠ΄Π΅Ρ›ΠΈ исти Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Ρƒ Π’Π¦Π‘-Ρƒ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅. ΠŸΠΎΡˆΡ‚ΠΎ су сви ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ ΠΈΠ· Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° сачувани Ρƒ одвојСним Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°ΠΌΠ°, Π’Π¦Π‘ Ρ›Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Π°Ρ‚ΠΈ само измСњСнС ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π΅.
Π“Π»Π°Π²Π½ΠΈ нСдостатак ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π·Π° ΠΏΡ€Π΅ΠΏΠΈΡΠΈΠ²Π°ΡšΠ΅ΠΌ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π΄Π° Π±ΠΈ сС Π²ΠΈΠ΄Π΅Π»Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅.

Како ΠΏΡ€Π΅Π½Π΅Ρ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π΄Ρ€ΡƒΠ³Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΠ° Π±Π΅Π· сукоба ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ

Π—Π°Ρ…Π²Π°Ρ™ΡƒΡ˜ΡƒΡ›ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ deployDump Π˜Π·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΌΠΎΠΆΠ΅ сС ΡƒΡ€Π΅Ρ’ΠΈΠ²Π°Ρ‚ΠΈ Π½Π° ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ исти Π½Π°Ρ‡ΠΈΠ½ ΠΊΠ°ΠΎ ΠΈ ΠΎΠ±ΠΈΡ‡Π°Π½ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ/обрисати Π½ΠΎΠ²Π΅ линијС Ρƒ ΠΊΠΎΠ΄Ρƒ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈ ΠΎΠ΄ΠΌΠ°Ρ… ΡƒΠ±Π°Ρ†ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Π°, ΠΈΠ»ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ/брисати ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ΠΌ/Π±Ρ€ΠΈΡΠ°ΡšΠ΅ΠΌ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΡƒ Π΄ΡƒΠΌΠΏ.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½ΠΎΠ²Π΅ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Ρƒ шСми public само Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ са Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜ΠΎΠΌ .sql Ρƒ ΠΈΠΌΠ΅Π½ΠΈΠΊΡƒ public/functions, Ρƒ њСга поставитС ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π±Π»ΠΎΠΊ CREATE OR REPLACE FUNCTION, Π° Π·Π°Ρ‚ΠΈΠΌ ΠΏΠΎΠ·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ deployDump. ИзмСна ΠΈ Π±Ρ€ΠΈΡΠ°ΡšΠ΅ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ сС дСшава Π½Π° исти Π½Π°Ρ‡ΠΈΠ½. Π”Π°ΠΊΠ»Π΅, ΠΊΠΎΠ΄ ΡƒΠ»Π°Π·ΠΈ ΠΈ Ρƒ Π’Π¦Π‘ ΠΈ Ρƒ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ исто Π²Ρ€Π΅ΠΌΠ΅.

Ако сС појави Π³Ρ€Π΅ΡˆΠΊΠ° Ρƒ ΠΈΠ·Π²ΠΎΡ€Π½ΠΎΠΌ ΠΊΠΎΠ΄Ρƒ Π±ΠΈΠ»ΠΎ којС ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΠΈΠ»ΠΈ нСслагањС ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ ΠΈΠΌΠ΅Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΠΎΠ½Π΄Π° deployDump Π½Π΅Ρ›Π΅ успСти, ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜ΡƒΡ›ΠΈ тСкст Π³Ρ€Π΅ΡˆΠΊΠ΅. ΠΠ΅ΠΏΠΎΠ΄ΡƒΠ΄Π°Ρ€Π°ΡšΠ΅ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Π΄ΡƒΠΌΠΏΠ° ΠΈ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° јС Π½Π΅ΠΌΠΎΠ³ΡƒΡ›Π΅ ΠΊΠ°Π΄Π° сС користи deployDump.

ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° Π½ΠΎΠ²Π΅ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, Π½Π΅ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π΄Π° Ρ€ΡƒΡ‡Π½ΠΎ уноситС исправно ΠΈΠΌΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅. Π”ΠΎΠ²ΠΎΡ™Π½ΠΎ јС Π΄Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌΠ° Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜Ρƒ .sql. ПослС ΠΏΠΎΠ·ΠΈΠ²Π° deployDump тСкст Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρ›Π΅ садрТати Ρ‚Π°Ρ‡Π½ΠΎ ΠΈΠΌΠ΅, којС сС ΠΌΠΎΠΆΠ΅ користити Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅.

deployDump Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ²Ρ€Π°Ρ‚ΠΊΠ° Π±Π΅Π· Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΈΡ… Ρ€Π°Π΄ΡšΠΈ, Π΄ΠΎΠΊ Π±ΠΈ ΠΊΠΎΠ΄ класичног приступа ΠΌΠΎΡ€Π°Π»ΠΈ Π΄Π°
ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΏΡ€Π²ΠΎ DROP FUNCTION, ΠΈ Ρ‚Π΅ΠΊ Ρ‚Π°Π΄Π° CREATE OR REPLACE FUNCTION.

НаТалост, ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ ΠΊΠ°Π΄Π° deployDump нијС ΠΌΠΎΠ³ΡƒΡ›Π΅ аутоматски ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ сС ΡƒΠΊΠ»ΠΎΠ½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΎΠΊΠΈΠ΄Π°Ρ‡Π° ΠΊΠΎΡ˜Ρƒ користи најмањС јСдан ΠΎΠΊΠΈΠ΄Π°Ρ‡. Π’Π°ΠΊΠ²Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ сС Ρ€Π΅ΡˆΠ°Π²Π°Ρ˜Ρƒ Ρ€ΡƒΡ‡Π½ΠΎ ΠΏΠΎΠΌΠΎΡ›Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ.

Ако стС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ шСма-Ρ‡ΡƒΠ²Π°Ρ€, ΠΎΠ½Π΄Π° сС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ ΠΌΠΎΡ€Π°Ρ˜Ρƒ користити Π·Π° прСнос Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ структури. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Ρ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ€Π°Π΄ са ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π°ΠΌΠ° јС Π΄ΠΎΠΊΡ‚Ρ€ΠΈΠ½Π°/ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π΅.

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π΅ сС ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ ΠΏΡ€Π΅ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° deployDump. Ово Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ свС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ структури ΠΈ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ Ρ‚Π°ΠΊΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠ° Π½Π°ΠΊΠ½Π°Π΄Π½ΠΎ прСносС Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π Π°Π΄ са ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π°ΠΌΠ° Π±ΠΈΡ›Π΅ Π΄Π΅Ρ‚Π°Ρ™Π½ΠΈΡ˜Π΅ описан Ρƒ Π½Π°Ρ€Π΅Π΄Π½ΠΈΠΌ ΠΎΠ΄Π΅Ρ™Ρ†ΠΈΠΌΠ°.

Како ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ процСс ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΠ³ Ρ€Π°Π΄Π° Π½Π° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°

НСопходно јС ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ скрипту Π·Π° ΠΏΠΎΡ‚ΠΏΡƒΠ½Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°, ΠΊΠΎΡ˜Ρƒ Ρ›Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ Π½Π° својој Ρ€Π°Π΄Π½ΠΎΡ˜ машини, Π΄ΠΎΠ²ΠΎΠ΄Π΅Ρ›ΠΈ структуру Π»ΠΎΠΊΠ°Π»Π½Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ складу са Π΄Π°ΠΌΠΏΠΎΠΌ који сС Ρ‡ΡƒΠ²Π° Ρƒ Π’Π¦Π‘-Ρƒ. Најлакши Π½Π°Ρ‡ΠΈΠ½ јС Π΄Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ Π»ΠΎΠΊΠ°Π»Π½Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ 3 ΠΊΠΎΡ€Π°ΠΊΠ°:

  1. Π£Π²Π΅Π·ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ са основном структуром која Ρ›Π΅ сС Π·Π²Π°Ρ‚ΠΈ Π½ΠΏΡ€. base.sql
  2. ΠŸΡ€ΠΈΠΌΠ΅Π½Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π°
  3. Изазов deployDump

base.sql јС ΠΏΠΎΡ‡Π΅Ρ‚Π½Π° Ρ‚Π°Ρ‡ΠΊΠ° Π½Π° којој сС ΠΏΡ€ΠΈΠΌΠ΅ΡšΡƒΡ˜Ρƒ ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°Ρ˜Ρƒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π΅ deployDumpΠ’ΠΎ јС, base.sql + ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ + deployDump = Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ структура Π‘Π”. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ Ρ‚Π°ΠΊΠ²Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΏΠΎΠΌΠΎΡ›Ρƒ услуТног ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° pg_dump. ΠšΠΎΡ€ΠΈΡΡ‚ΠΈ сС base.sql искључиво ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜ΠΈ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΎΠ΄ Π½ΡƒΠ»Π΅.

Позовимо скрипту Π·Π° ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚Π½Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° refresh.sh. Π’ΠΎΠΊ посла Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°Ρ‚ΠΈ ΠΎΠ²Π°ΠΊΠΎ:

  1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Ρƒ свом ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ refresh.sh ΠΈ добија Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Ρƒ структуру Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°
  2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΏΠΎΡ‡ΠΈΡšΠ΅ Π΄Π° Ρ€Π°Π΄ΠΈ Π½Π° Π·Π°Π΄Π°Ρ‚ΠΊΡƒ, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΡƒΡ˜ΡƒΡ›ΠΈ Π»ΠΎΠΊΠ°Π»Π½Ρƒ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΊΠ°ΠΊΠΎ Π±ΠΈ Π·Π°Π΄ΠΎΠ²ΠΎΡ™ΠΈΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π½ΠΎΠ²Π΅ функционалности (ALTER TABLE ... ADD COLUMN ΠΈΡ‚Π΄)
  3. Након Π·Π°Π²Ρ€ΡˆΠ΅Ρ‚ΠΊΠ° Π·Π°Π΄Π°Ρ‚ΠΊΠ°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ saveDumpΠ·Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π°ΠΏΡ€Π°Π²Ρ™Π΅Π½ΠΈΡ… Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π’Π¦Π‘
  4. Поновно ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π° refresh.sh, ΠΎΠ½Π΄Π° verifyDumpкоји сада ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜Π΅ листу ΠΏΡ€ΠΎΠΌΠ΅Π½Π° којС Ρ‚Ρ€Π΅Π±Π° ΡƒΠΊΡ™ΡƒΡ‡ΠΈΡ‚ΠΈ Ρƒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ
  5. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ прСноси свС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ структурС Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ, ΠΏΠΎΠ½ΠΎΠ²ΠΎ сС ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ refresh.sh ΠΈ verifyDumpΠΈ, Π°ΠΊΠΎ јС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ састављСна, verifyDump Π½Π΅Ρ›Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Π»ΠΎΠΊΠ°Π»Π½Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈ сачуваног Π΄ΡƒΠΌΠΏΠ°

Π“ΠΎΡ€Π΅ описани процСс јС ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π°Π½ са ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠΌΠ° Π³ΠΈΡ‚Ρ„Π»ΠΎΠ²-Π°. Π‘Π²Π°ΠΊΠ° Π³Ρ€Π°Π½Π° Ρƒ Π’Π¦Π‘-Ρƒ Ρ›Π΅ садрТати сопствСну Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ Π΄Π°ΠΌΠΏΠ°, Π° ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ спајања Π³Ρ€Π°Π½Π°, Π΄ΡƒΠΌΠΏΠΎΠ²ΠΈ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ спојСни. Π£ Π²Π΅Ρ›ΠΈΠ½ΠΈ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²Π° нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠ·Π΅Ρ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ Π΄ΠΎΠ΄Π°Ρ‚Π½Π΅ Ρ€Π°Π΄ΡšΠ΅ Π½Π°ΠΊΠΎΠ½ спајања, Π°Π»ΠΈ Π°ΠΊΠΎ су ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Π½Π°ΠΏΡ€Π°Π²Ρ™Π΅Π½Π΅ Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΠΌ Π³Ρ€Π°Π½Π°ΠΌΠ°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ ΠΈΡΡ‚ΠΎΡ˜ Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄ΠΎΡ›ΠΈ Π΄ΠΎ сукоба.

Π₯ајдС Π΄Π° Ρ€Π°Π·ΠΌΠΎΡ‚Ρ€ΠΈΠΌΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρƒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Ρƒ користСћи ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Π³Ρ€Π°Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ, ΠΈΠ· којС сС Π³Ρ€Π°Π½Π°Ρ˜Ρƒ Π΄Π²Π΅ Π³Ρ€Π°Π½Π΅: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°ΠšΠ‘ΠΠ£ΠœΠšΠ‘ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°ΠšΠ‘ΠΠ£ΠœΠšΠ‘, који Π½Π΅ΠΌΠ°Ρ˜Ρƒ сукоба са Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ, Π°Π»ΠΈ ΠΈΠΌΠ°Ρ˜Ρƒ сукобС јСдни са Π΄Ρ€ΡƒΠ³ΠΈΠΌΠ°. Π—Π°Π΄Π°Ρ‚Π°ΠΊ јС ΡΠΏΠΎΡ˜ΠΈΡ‚ΠΈ ΠΎΠ±Π΅ Π³Ρ€Π°Π½Π΅ Ρƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ. Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ сС ΠΏΡ€Π²ΠΎ спајањС јСднС ΠΎΠ΄ Π³Ρ€Π°Π½Π° Ρƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ° Π·Π°Ρ‚ΠΈΠΌ ΡΠΏΠΎΡ˜ΠΈΡ‚ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ Π½Π° прСосталу Π³Ρ€Π°Π½Ρƒ, Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ сукоба Ρƒ ΠΏΡ€Π΅ΠΎΡΡ‚Π°Π»ΠΎΡ˜ Π³Ρ€Π°Π½ΠΈ, Π° Π·Π°Ρ‚ΠΈΠΌ спајањС послСдњС Π³Ρ€Π°Π½Π΅ Ρƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ. Π’ΠΎΠΊΠΎΠΌ Ρ„Π°Π·Π΅ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ ΠΌΠΎΡ€Π°Ρ‚ΠΈ Π΄Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ Ρƒ послСдњој Π³Ρ€Π°Π½ΠΈ Ρ‚Π°ΠΊΠΎ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° ΠΊΠΎΠ½Π°Ρ‡Π½ΠΎΠΌ Π΄ΡƒΠΌΠΏΡƒ, који ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ спајања.

Како Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ вишС ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ структури Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ

Π—Π°Ρ…Π²Π°Ρ™ΡƒΡ˜ΡƒΡ›ΠΈ присуству дСпонијС Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ структурС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ Π’Π¦Π‘-Ρƒ, ΠΏΠΎΡΡ‚Π°Ρ˜Π΅ ΠΌΠΎΠ³ΡƒΡ›Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρƒ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π΄Π° Π»ΠΈ јС Ρ‚Π°Ρ‡Π½Π° усклађСност са ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΠΌ структуром. Ово осигурава Π΄Π° су свС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ којС су ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Π½Π°ΠΌΠ΅Ρ€Π°Π²Π°Π»ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€Π΅Π½Π΅Ρ‚Π΅ Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρƒ Π±Π°Π·Ρƒ.

Као Π”Π”Π› Ρƒ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Ρƒ јС трансакциона, ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ сС Π΄Π° сС ΠΏΡ€ΠΈΠ΄Ρ€ΠΆΠ°Π²Π°Ρ‚Π΅ слСдСћСг рСдослСда ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ°, Ρ‚Π°ΠΊΠΎ Π΄Π°, Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π½Π΅ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π½Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ β€žΠ±Π΅Π·Π±ΠΎΠ»Π½ΠΎβ€œ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚ΠΈ ROLLBACK:

  1. Π—Π°ΠΏΠΎΡ‡Π½ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Ρƒ
  2. Π˜Π·Π²Ρ€ΡˆΠΈΡ‚Π΅ свС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π΅ Ρƒ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜ΠΈ
  3. Π£ ΠΈΡΡ‚ΠΎΡ˜ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ deployDump
  4. Π‘Π΅Π· Π΄ΠΎΠ²Ρ€ΡˆΠ΅Ρ‚ΠΊΠ° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π΅ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ verifyDump. Ако Π½Π΅ΠΌΠ° Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°, ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ COMMIT. Ако ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅, ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ ROLLBACK

Ови ΠΊΠΎΡ€Π°Ρ†ΠΈ сС ΠΌΠΎΠ³Ρƒ Π»Π°ΠΊΠΎ интСгрисати Ρƒ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›Π΅ приступС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π½ΡƒΠ»Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π°ΡΡ‚ΠΎΡ˜Π°.

Π—Π°ΠΊΡ™ΡƒΡ‡Π°ΠΊ

Π—Π°Ρ…Π²Π°Ρ™ΡƒΡ˜ΡƒΡ›ΠΈ Π³ΠΎΡ€Π΅ описаним ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠ°, ΠΌΠΎΠ³ΡƒΡ›Π΅ јС ΠΈΠ·Π²ΡƒΡ›ΠΈ максималнС пСрформансС ΠΈΠ· β€žΠŸΠ₯П + ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›β€œ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π°, ΠΆΡ€Ρ‚Π²ΡƒΡ˜ΡƒΡ›ΠΈ ΠΏΡ€ΠΈΡ‚ΠΎΠΌ Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΌΠ°Π»Ρƒ погодност Ρ€Π°Π·Π²ΠΎΡ˜Π° Ρƒ ΠΏΠΎΡ€Π΅Ρ’Π΅ΡšΡƒ са ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΎΠΌ свС пословнС Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρƒ ΠΊΠΎΠ΄Ρƒ Π³Π»Π°Π²Π½Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, ΠΎΠ±Ρ€Π°Π΄Π° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ ΠŸΠ› / ΠΏΠ³Π‘ΠšΠ› чСсто ΠΈΠ·Π³Π»Π΅Π΄Π° Ρ‚Ρ€Π°Π½ΡΠΏΠ°Ρ€Π΅Π½Ρ‚Π½ΠΈΡ˜Π΅ ΠΈ Π·Π°Ρ…Ρ‚Π΅Π²Π° мањС ΠΊΠΎΠ΄Π° ΠΎΠ΄ истС функционалности написанС Ρƒ ПΠ₯П-Ρƒ.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€