[Sequelize] paranoid
paranoid๋ ํธ์ง์ฆ์ด๋ ๋ป์ด๋ค.
์์์ ์ญ์ ๋ ์๋ฒ์ ์ค์ฌ ๊ธฐ๋ฅ ์ค ํ๋๋ค.
๊ฐ๋ น ๋ด๊ฐ ์ด ์ด ๊ธ์ ์ง์ฐ๋๋ผ๋ ์ญ์ ์ ๋ํ ๋ก์ง์ด ์ํ๋์ด์ผ ํ์ง ์๊ฒ ๋๊ฐ?
ํ์ง๋ง ์ค์ ๋ก ์ฟผ๋ฆฌ๋ก DELETE๋ฅผ ๋ ๋ฆฌ๋ ๊ฒ์ ์ค ์๋น์ค์์๋ ๊ธ๊ธฐ์๋๋ ํ์๋ค.
ํ์ฌ๋ผ๋ ๋ค์ ๋ณต๊ตฌํ๊ฒ ๋ ์ผ์ด ์๊ธด๋ค๋ฉด ์ด์ฉ๊ฒ ๋? ๋ถ๋ถ์ ์ผ๋ก ๋ค์ ์ฌ์ฉ๋ ์ผ์ด ์๋ค๋ฉด?
๊ทธ๋์ ์ผ๋ฐ์ ์ผ๋ก ์ญ์ ๋ฅผ ๊ตฌํํ๋ค๋ฉด ์ญ์ ๋ฅผ ๋ํ๋ด๋ ์ปฌ๋ผ์ ๋ฐ๋ก ๋ง๋ค์ด์ ๋
ผ๋ฆฌ์ ์ญ์ ๋ฅผ ์ํํ๋๋ก ํ๋ค.
paranoid๋ ์ด๋ฌํ ๋์์ ์๋ํํด์ฃผ๋ ํธ์๊ธฐ๋ฅ์ด๋ค.
๋ณด์.
ํ
์คํธ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.


paranoid๋ฅผ ์ ์ฉํ๋ ค๋ฉด ํ ์ด๋ธ ์ ์์์ paranoid ์์ฑ์ true๋ก ํด์ค๋ค.

๊ทธ๋ฆฌ๊ณ sync๋ฅผ ์ํํ๋ฉด deletedAt์ด๋ผ๋ ์ญ์ ์ฉ ์ปฌ๋ผ์ด ์ถ๊ฐ๋ ๊ฒ์ด๋ค.

๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ์ destroy ํจ์๋ฅผ ์ํํ๋ฉด

DELETE๊ฐ ์๋ UPDATE๋ฅผ ์ํํ ๊ฒ์ด๊ณ

deletedAt์ด null์ด ์๋ ๊ฐ์ ์กฐํ๊ฐ ๋์ง ์์ ๊ฒ์ด๋ค.


๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด deletedAt๋ง ํ ๋น์ด ๋๊ณ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ์ ์ง๋จ์ ์ ์ ์๋ค.

๋ง์ฝ ์์๋ก deletedAt์ ๋ฌด์ํ๊ณ ์กฐํํ๊ณ ์ถ๋ค๋ฉด paranoid ์ต์ ์ ๋ค์ ์ฌ์ฉํ๋ฉด ๋๋ค.


๋ง์ฝ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ญ์ ๋ ๊ฐ์ ๋ค์ ๋ณต์ํ๊ณ ์ถ๋ค๋ฉด restore ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ข๋ค.

