[PostgreSQL] DDL: IF NOT EXISTS ์
DB๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ค์ ์์ ์ ํ๋ค๋ณด๋ฉด, ๋ง์ด๊ทธ๋ ์ด์ ์ฉ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ ํ๋ฒ์ ์ฌ๋ฌ DDL์ ๋ ๋ฆด ๊ฒฝ์ฐ๊ฐ ๋งค์ฐ ๋ง๋ค.
๊ทผ๋ฐ ์ด๊ฒ ์ด๋์ ๋ ์น๋ค๋ณด๋ฉด ๋ถ๋ถ์ ์ผ๋ก๋ ์ด๋ฏธ ์ ์ฉ๋์ด์์ด์ ์ด๋ฏธ ์๋๊ฑธ ๋ ๋ง๋๋ ค๊ณ ์๋ํ๋ค ์๋ฌ๊ฐ ๋์ ์๋นํ ๊ท์ฐฎ์ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ๋๊ฐ ์ฆ๋ค.
IF NOT EXISTS ์ ์ ์ด๋ฐ ์ํฉ์ ํ์ฉํ๊ธฐ์ ์ ํฉํ DDL ์ ์ฉ ์กฐ๊ฑด์ ์ด๋ค.
์๋ฅผ ๋ค์ด, ์ด๋ฏธ ์๋ ํ ์ด๋ธ์ ๋ ๋ง๋ค๋ ค๊ณ ์๋ํ๋ฉด
CREATE TABLE FooBar (
id serial8 PRIMARY KEY,
name TEXT
);
์ค๋ฅ๊ฐ ๋ฐ์ํด์ ์ดํ์ ์ฟผ๋ฆฌ๋ค์ด ๋ค ๋๊ธด๋ค.
ํ์ง๋ง IF NOT EXISTS ์ ์ ์ฌ์ฉํ๋ฉด ์ถฉ๋์ด ๋ฐ์ํด๋ ๋ฌด์ํ๊ณ ์ง๋๊ฐ๋ค.
CREATE TABLE IF NOT EXISTS FooBar (
id serial8 PRIMARY KEY,
name TEXT
);

์ด๊ฑด ์ปฌ๋ผ ์ถ๊ฐ๋
ALTER TABLE FooBar ADD COLUMN name TEXT;

ALTER TABLE FooBar ADD COLUMN IF NOT EXISTS name TEXT;

์ธ๋ฑ์ค ์์ฑ ๋ฑ์๋ ๋์ผํ๊ฒ ํ์ฉํ ์ ์๋ค.

์ถ๊ฐ: IF EXISTS ์
IF NOT EXISTS๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ์๋ง ์คํํ๋๋ก ํ๋ ์กฐ๊ฑด์ ์ด๋ผ๋ฉด, IF EXISTS๋ ์กด์ฌํ ๋๋ง ์คํํ๋๋ก ํ๋ ์กฐ๊ฑด์ ์ด๋ค.
DROP ๊ฐ์ ์ ๊ฑฐ ๋ช
๋ น์ ์ฌ์ฉํ๊ธฐ์ ์ฉ์ดํ๋ค.

