์ด ๊ธฐ์ฌ์ ๋ชฉ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
์ด ๊ธฐ์ฌ์ ์ ๋ณด๋ ์ฐ์ PostgreSQL ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํ๊ณ ์ถ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐฐ์น๋ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ฅผ ์ ์งํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ฉํ ๊ฒ์ ๋๋ค.
์ด ๋ฌธ์์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ์ฅ์ ์ด๋ ๋จ์ ์ ์ค๋ช ํ์ง ์์ต๋๋ค. ๋ ์๊ฐ ์ด๋ฏธ ์ ํ์ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ด ๊ณ ๋ ค๋ ๊ฒ์ ๋๋ค:
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ๋คํ๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ (์ดํ VCS)์ ์ด๋ค ํ์์ผ๋ก ์ ์ฅ๋์ด์ผ ํฉ๋๊น?
- ๋คํ๋ฅผ ์ ์ฅํ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ
- ์ถฉ๋์ด๋ ๋๊ท๋ชจ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ ์กํ๋ ๋ฐฉ๋ฒ
- ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ํธ์ ๋ํ ๋ณ๋ ฌ ์์ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋ก๋์
ํ๊ฒฝ์ ์์ ํ๊ฒ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ
์คํค๋งํคํผ ์ธ์ด๋ก ์์ฑ๋ ์ ์ฅ ํ๋ก์์ ์์ ์ ์ํด ์ค๊ณ๋์์ต๋๋ค.
PL / pgSQL . ๋ค๋ฅธ ์ธ์ด์ ๋ํ ํ ์คํธ๋ ์งํ๋์ง ์์์ผ๋ฏ๋ก ์ฌ์ฉ์ด ํจ๊ณผ์ ์ด์ง ์๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ์ ์์ต๋๋ค.
VCS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ๋คํ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
๋์๊ด saveDump
, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๊ฐ์ฒด ๊ตฌ์กฐ๋ฅผ ๋ณ๋์ ํ
์คํธ ํ์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ถ๋ ฅ์ VCS์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋ ๊ทธ๋ฃนํ๋ ํ์ผ๋ก ๊ตฌ๋ถ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ํฌํจํ๋ ๋๋ ํ ๋ฆฌ์
๋๋ค.
๋ช ๊ฐ์ง ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด๋ฅผ ํ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๊ฐ์ฒด ์ ํ
๊ณํ
์ด๋ฆ
ํ์ผ์ ์๋ ๊ฒฝ๋ก
ํ
์ด๋ธ
๊ณต๊ฐ
๊ณ์
./public/tables/accounts.txt
์ ์ฅ ํ๋ก์์
๊ณต๊ฐ
์ธ์ฆ(ํด์ bigint)
./public/functions/auth(int8).sql
์๊ฐ
์์ฝ
๊ด์ธ
./booking/views/tariffs.txt
ํ์ผ์ ๋ด์ฉ์ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ํ
์คํธ๋ก ํํํ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด ์ ์ฅ ํ๋ก์์ ์ ๊ฒฝ์ฐ ํ์ผ ๋ด์ฉ์ ๋ธ๋ก์ผ๋ก ์์ํ์ฌ ์ ์ฅ ํ๋ก์์ ์ ์ ์ฒด ์ ์๊ฐ ๋ฉ๋๋ค. CREATE OR REPLACE FUNCTION
.
์ ํ์์ ๋ณผ ์ ์๋ฏ์ด ํ์ผ ๊ฒฝ๋ก์๋ ํด๋น ๊ฐ์ฒด์ ์ ํ, ์คํค๋ง, ์ด๋ฆ์ ๋ํ ์ ๋ณด๊ฐ ์ ์ฅ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ ์ฌํญ์ ๋คํ ๋ฐ ์ฝ๋ ๊ฒํ ๋ฅผ ๋ ์ฝ๊ฒ ํ์ํ ์ ์์ต๋๋ค.
์ ์ฅ
.sql
์ ์ฅ ํ๋ก์์ ์์ค ์ฝ๋๊ฐ ์๋ ํ์ผ์ ๊ฒฝ์ฐ ํ์ผ์ด ์ด๋ฆด ๋ IDE๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ์๋์ผ๋ก ์ ๊ณตํ๋๋ก ์ด ์ต์ ์ด ์ ํ๋์์ต๋๋ค.
๋คํ๋ฅผ ์ ์ฅํ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ
ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋คํ๋ฅผ VCS์ ์ ์ฅํ๋ฉด ๋คํ๊ฐ ์์ฑ๋ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋์๊ด์์ verifyDump
, ๋ถ์์ฉ ์์ด ์ฐจ์ด์ ์ ๋ํ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
ํ์ธํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ํจ์๋ฅผ ๋ค์ ํธ์ถํ๋ ๊ฒ์
๋๋ค. saveDump
, ๋์ผํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ๊ณ VCS์์ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๊ฐ์ฒด๋ ๋ณ๋์ ํ์ผ์ ์ ์ฅ๋๋ฏ๋ก VCS๋ ๋ณ๊ฒฝ๋ ๊ฐ์ฒด๋ง ํ์ํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ๊ฐ์ฅ ํฐ ๋จ์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ ค๋ฉด ํ์ผ์ ๋ฎ์ด์จ์ผ ํ๋ค๋ ๊ฒ์
๋๋ค.
์ถฉ๋์ด๋ ๋๊ท๋ชจ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ ์กํ๋ ๋ฐฉ๋ฒ
๊ธฐ๋ฅ ๋๋ถ์ deployDump
์ ์ฅ ํ๋ก์์ ์ ์์ค ์ฝ๋๋ ์ผ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์์ค ์ฝ๋์ ๋์ผํ ๋ฐฉ์์ผ๋ก ํธ์งํ ์ ์์ต๋๋ค. ์ ์ฅ ํ๋ก์์ ์ฝ๋์์ ์ ์ค์ ์ถ๊ฐ/์ญ์ ํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ์ ์ ์ด์ ์ฆ์ ํธ์ํ๊ฑฐ๋ ๋คํ ๋๋ ํฐ๋ฆฌ์์ ํด๋น ํ์ผ์ ์์ฑ/์ญ์ ํ์ฌ ์ ์ฅ ํ๋ก์์ ๋ฅผ ์์ฑ/์ญ์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์คํค๋ง์ ์ ์ ์ฅ ํ๋ก์์ ๋ฅผ ์์ฑํ๋ ค๋ฉด public
ํ์ฅ์๋ฅผ ๊ฐ์ง ์ ํ์ผ์ ๋ง๋์ธ์ .sql
๋๋ ํ ๋ฆฌ์์ public/functions
, ๋ธ๋ก์ ํฌํจํ์ฌ ์ ์ฅ ํ๋ก์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ทธ ์์ ๋ฃ์ต๋๋ค. CREATE OR REPLACE FUNCTION
, ๊ทธ๋ฐ ๋ค์ ํจ์๋ฅผ ํธ์ถํ์ญ์์ค. deployDump
. ์ ์ฅ ํ๋ก์์ ์์ ๋ฐ ์ญ์ ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฝ๋๋ VCS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋์์ ๋ค์ด๊ฐ๋๋ค.
์ ์ฅ ํ๋ก์์ ์ ์์ค ์ฝ๋์ ์ค๋ฅ๊ฐ ๋ํ๋๊ฑฐ๋ ํ์ผ ์ด๋ฆ๊ณผ ์ ์ฅ ํ๋ก์์ ์ด๋ฆ์ด ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ deployDump
์คํจํ๊ณ ์ค๋ฅ ํ
์คํธ๊ฐ ํ์๋ฉ๋๋ค. ๋คํ๋ฅผ ์ฌ์ฉํ ๋ ๋คํ์ ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ ์ฅ ํ๋ก์์ ๋ถ์ผ์น๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. deployDump
.
์ ์ ์ฅ ํ๋ก์์ ๋ฅผ ์์ฑํ ๋ ์ฌ๋ฐ๋ฅธ ํ์ผ ์ด๋ฆ์ ์๋์ผ๋ก ์ ๋ ฅํ ํ์๊ฐ ์์ต๋๋ค. ํ์ผ ํ์ฅ์๊ฐ ์์ผ๋ฉด ์ถฉ๋ถํฉ๋๋ค.
.sql
. ํตํ ํdeployDump
์ค๋ฅ ํ ์คํธ์๋ ํ์ผ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ด ํฌํจ๋ฉ๋๋ค.
deployDump
์ถ๊ฐ ์์
์์ด ํจ์ ๋๋ ๋ฐํ ์ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ๊ณ ์ ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด
๋จผ์ ์คํ DROP FUNCTION
, ๊ทธ๋ฆฌ๊ณ ๋์์ผ CREATE OR REPLACE FUNCTION
.
๋ถํํ๋ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ํฉ์ด ์์ต๋๋ค. deployDump
๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ ์ด์์ ํธ๋ฆฌ๊ฑฐ์์ ์ฌ์ฉ๋๋ ํธ๋ฆฌ๊ฑฐ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋๋ ๊ฒฝ์ฐ์
๋๋ค. ์ด๋ฌํ ์ํฉ์ ๋ง์ด๊ทธ๋ ์ด์
ํ์ผ์ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ํด๊ฒฐ๋ฉ๋๋ค.
์ ์ฅ ํ๋ก์์ ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ด๋นํ๋ ๊ฒฝ์ฐ
์ถ์ ์ ์ ๋ง์ด๊ทธ๋ ์ด์
์ ์ ์ฉํด์ผ ํฉ๋๋ค. deployDump
. ์ด๋ฅผ ํตํด ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ ๋ณ๊ฒฝํ๊ณ ๋ฌธ์ ์ํฉ์ ํด๊ฒฐํ ์ ์์ผ๋ฏ๋ก ์ ์ฅ ํ๋ก์์ ์ ๋ณ๊ฒฝ ๋ด์ฉ์ด ์ดํ์ ๋ฌธ์ ์์ด ์ ์ก๋ฉ๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ์์ ์ ๋ค์ ์น์ ์์ ๋ ์์ธํ ์ค๋ช ๋ฉ๋๋ค.
์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ํธ์ ๋ํ ๋ณ๋ ฌ ์์ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ
๊ฐ๋ฐ์๊ฐ ์์ ์์คํ ์์ ์คํํ์ฌ VCS์ ์ ์ฅ๋ ๋คํ์ ๋ฐ๋ผ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฒด ์ด๊ธฐํ๋ฅผ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ 3๋จ๊ณ๋ก ๋๋๋ ๊ฒ์ ๋๋ค.
- ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํ์ผ์ ๊ฐ์ ธ์ต๋๋ค.
base.sql
- ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฉ
- ๋์
deployDump
base.sql
๋ง์ด๊ทธ๋ ์ด์ ์ด ์ ์ฉ๋๊ณ ์คํ๋๋ ์์์ ์ ๋๋ค.deployDump
์ฆ,base.sql + ะผะธะณัะฐัะธะธ + deployDump = ะฐะบััะฐะปัะฝะฐั ััััะบัััะฐ ะะ
. ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ํ์ผ์ ๋ง๋ค ์ ์์ต๋๋คpg_dump
. ์ฌ์ฉ๋base.sql
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ์๋ถํฐ ์ด๊ธฐํํ๋ ๊ฒฝ์ฐ์๋ง ํด๋น๋ฉ๋๋ค.
์์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํด ๋ณด๊ฒ ์ต๋๋ค. refresh.sh
. ์ํฌํ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฐ๋ฐ์๊ฐ ์์ ์ ํ๊ฒฝ์์ ์์ํฉ๋๋ค.
refresh.sh
ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. - ๊ฐ๋ฐ์๋ ๋น๋ฉดํ ์์
์ ๋ํ ์์
์ ์์ํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋๋ก ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํฉ๋๋ค(
ALTER TABLE ... ADD COLUMN
๊ธฐํ) - ์์
์ ์๋ฃํ ํ ๊ฐ๋ฐ์๋ ํจ์๋ฅผ ํธ์ถํฉ๋๋ค.
saveDump
VCS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํฉ๋๋ค. - ๊ฐ๋ฐ์ ์ฌ์ถ์
refresh.sh
, ๊ทธ ๋ค์์verifyDump
์ด์ ๋ง์ด๊ทธ๋ ์ด์ ์ ํฌํจํ ๋ณ๊ฒฝ ์ฌํญ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. - ๊ฐ๋ฐ์๋ ๋ชจ๋ ๊ตฌ์กฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋ง์ด๊ทธ๋ ์ด์
ํ์ผ๋ก ์ ์กํ๊ณ ๋ค์ ์คํํฉ๋๋ค.
refresh.sh
ะธverifyDump
, ๋ง์ด๊ทธ๋ ์ด์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ปดํ์ผ๋๋ฉดverifyDump
๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋คํ ๊ฐ์ ์ฐจ์ด๊ฐ ํ์๋์ง ์์ต๋๋ค.
์์์ ์ค๋ช ํ ํ๋ก์ธ์ค๋ gitflow ์์น๊ณผ ํธํ๋ฉ๋๋ค. VCS์ ๊ฐ ๋ถ๊ธฐ์๋ ์์ฒด ๋ฒ์ ์ ๋คํ๊ฐ ํฌํจ๋๋ฉฐ ๋ถ๊ธฐ๋ฅผ ๋ณํฉํ๋ฉด ๋คํ๋ ๋ณํฉ๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ณํฉ ํ์๋ ์ถ๊ฐ ์์ ์ ์ํํ ํ์๊ฐ ์์ง๋ง, ๋ค๋ฅธ ๋ถ๊ธฐ(์: ๋์ผํ ํ ์ด๋ธ)์์ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์๋ฅผ ์ฌ์ฉํ์ฌ ์ถฉ๋ ์ํฉ์ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค. ๋ถ๊ธฐ๊ฐ ์์ต๋๋ค. ๊ฐ๋ฐ, ๋ ๊ฐ์ ๊ฐ์ง๊ฐ ๋ถ๊ธฐ๋ฉ๋๋ค. feature1 ะธ feature2, ๋ค์๊ณผ ์ถฉ๋ํ์ง ์์ต๋๋ค. ๊ฐ๋ฐ, ํ์ง๋ง ์๋ก ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. ์๋ฌด๋ ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ๋ณํฉํ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋ฐ. ์ด ๊ฒฝ์ฐ ๋จผ์ ๋ถ๊ธฐ ์ค ํ๋๋ฅผ ๋ณํฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ๋ฐ๊ทธ๋ฐ ๋ค์ ๋ณํฉ ๊ฐ๋ฐ ๋๋จธ์ง ๋ถ๊ธฐ์ ์ถฉ๋์ ํด๊ฒฐํ๊ณ ๋ง์ง๋ง ๋ถ๊ธฐ๋ฅผ ๋ณํฉํฉ๋๋ค. ๊ฐ๋ฐ. ์ถฉ๋ ํด๊ฒฐ ๋จ๊ณ ์ค์ ๋ณํฉ ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ ์ต์ข ๋คํ์ ์ผ์นํ๋๋ก ๋ง์ง๋ง ๋ถ๊ธฐ์ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ์ ์์ ํด์ผ ํ ์๋ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋ก๋์ ํ๊ฒฝ์ ์์ ํ๊ฒ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ
VCS์ ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋คํ๊ฐ ์์ผ๋ฏ๋ก ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ์ํ ๊ตฌ์กฐ๋ฅผ ์ ํํ ์ค์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํ๋ก๋์ ๊ธฐ๋ฐ์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ ์ก๋์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ผ๋ก ROLLBACK
:
- ๊ฑฐ๋ ์์
- ํธ๋์ญ์ ์์ ๋ชจ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ํ
- ๋์ผํ ํธ๋์ญ์
์์ ์คํ
deployDump
- ๊ฑฐ๋๋ฅผ ์๋ฃํ์ง ์๊ณ ์คํ
verifyDump
. ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์คํCOMMIT
. ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์คํํ์ธ์.ROLLBACK
์ด๋ฌํ ๋จ๊ณ๋ ๊ฐ๋ ์ค์ง ์๊ฐ์ ํฌํจํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ์ ๋ํ ๊ธฐ์กด ์ ๊ทผ ๋ฐฉ์์ ์ฝ๊ฒ ํตํฉ๋ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
์์์ ์ค๋ช
ํ ๋ฐฉ๋ฒ ๋๋ถ์ โPHP + PostgreSQLโ ํ๋ก์ ํธ์์ ์ต๋ ์ฑ๋ฅ์ ๋์ด๋ด๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋์์ ๋ชจ๋ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๋ ๊ฒ์ ๋นํด ์๋์ ์ผ๋ก ๊ฐ๋ฐ ํธ์์ฑ์ ๊ฑฐ์ ํฌ์ํ์ง ์์ต๋๋ค. ๋ํ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ
์ถ์ฒ : habr.com