Assembled by GimuneLee (2020-01-13)
- ์ผ๋ฐ์ ์ธ ์ญ์
- Soft Delete์ ๋ฐ๋ ๊ฐ๋ ์ด๋ผ๋ ์๋ฏธ๋ก 'Hard'๋ฅผ ๋ถ์ธ ๊ฒ
- SQL DELETE ๋ฌธ ์ฌ์ฉ
-
์ผ๋ฐ์ ์ธ ์ญ์ ๋์
removed
์ปฌ๋ผ์ ๊ฐฑ์ (SQL UPDATE ๋ฌธ ์ฌ์ฉ)ํ๋ ๋ฐฉ์์ ๋๋ค. -
์ปฌ๋ผ๋ช ์ ๋ณดํต
removed
,deleted_at
,is_deleted
๋ฅผ ์ฌ์ฉํฉ๋๋ค. -
์ปฌ๋ผ์ ์๋ฃํ์
boolean
๋๋datetime
์ฌ์ฉํฉ๋๋ค.ex) ์ญ์ ๋์ง ์์ ๋ฐ์ดํฐ๋
removed
์ปฌ๋ผ๊ฐ์ด NULL , ์ญ์ ๋ ๋ฐ์ดํฐ๋removed
๊ฐ์ด ์ญ์ ๋ ์ผ์ -
๋ณต๊ตฌํ๊ฑฐ๋ ์์ ๊ธฐ๋ก์ ํ์ธํ๊ณ ์ ํ ๋ ๊ฐํธํฉ๋๋ค.
-
๋ค๋ฅธ ํ ์ด๋ธ๊ณผ JOIN ์์ ํญ์
removed
๋ฅผ ์ ๊ฒํด์ผ ํ๋ฏ๋ก ๋ถํธํ๋ฉฐ ์๋๋ ๋๋ฆฝ๋๋ค.
DELETE FROM customer WHERE id=112;
UPDATE customer SET deleted=NOW() WHERE id=112;
Soft Delete์์ ์ญ์ ๋ฅผ ๊ตฌ๋ถํ๋ ์ปฌ๋ผ์ ํ์
์ boolean
๋ณด๋ค๋ datetime
(์ญ์ ๋ ์๊ฐ)์ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค.