CSV ๊ฐ์ ธ์ค๊ธฐ ์ด ๋งคํ UI: ๋ ์์ ํ ๋งค์นญ, ๊ธฐ๋ณธ๊ฐ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ
CSV ๊ฐ์ ธ์ค๊ธฐ์์ ์ฌ์ฉ์๊ฐ ํ๋๋ฅผ ๋งค์นญํ๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ฉฐ ์ค๋ฅ๋ฅผ ๋ฏธ๋ฆฌ๋ณด๊ณ ์ ์ฅ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ์๊ฒ ๋๋ ์ด ๋งคํ UI ํจํด์ ๋๋ค.

CSV ๊ฐ์ ธ์ค๊ธฐ๊ฐ ๋ต๋ตํ๊ฒ ๋๊ปด์ง๋ ์ด์
๋๋ถ๋ถ ์ฌ๋๋ค์ CSV๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋จ์ํ ๊ธฐ๋ ํ๋๋ฅผ ๊ฐ์ง๋๋ค: โ๋ด ์คํ๋ ๋์ํธ๋ฅผ ์ฑ์ผ๋ก ๋ฃ์ด์ค.โ ๊ทธ๋ฐ๋ฐ ์ฒซ ํ๋ฉด์์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๊ฒฐ์ ์ ๋ฌป๊ณ , ๊ฐ์ ธ์ค๊ธฐ๋ ๋ง์น ๋ฌด์์๋ก ์คํจํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
CSV ํ์ผ์ ๊ฒ์ผ๋ก ๋ณด๊ธฐ๋ณด๋ค ๋ ์ง์ ๋ถํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํค๋๊ฐ ์๊ฑฐ๋, ์ฑ์ ํ๋ ์ด๋ฆ๊ณผ ๋ค๋ฅด๊ฒ ํ๊ธฐ๋์ด ์๊ฑฐ๋, ์ค๋ณต๋ ์ ์์ต๋๋ค(์: โEmailโ, โemailโ, โEmail Addressโ). ๋ ์ง ํ์์ด ์ ๊ฐ๊ฐ์ด๊ณ , ์ ํ๋ฒํธ๋ ์์๋ฆฌ 0์ด ์ฌ๋ผ์ง๋ฉฐ, ์ฃผ์ ์์ ์ผํ ๋๋ฌธ์ ์ด์ด ๊นจ์ง๊ธฐ๋ ํฉ๋๋ค. ๊น๋ํ ๋ด๋ณด๋ด๊ธฐ๋ผ๋ ๋ฉ๋ชจ๋ ๋ด๋ถ ID, ๋น ๋ค์ชฝ ์ด ๊ฐ์ ์ถ๊ฐ ์ด์ ํฌํจํ ์ ์์ต๋๋ค.
๋๋ ค์์ ํ์ค์ ์ ๋๋ค. ์๋ชป ์ถ์ธกํ๋ฉด ์ข์ ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ฐ๊ฑฐ๋ ์๋ฐฑ ๊ฐ์ ์์๋ ๋ ์ฝ๋๋ฅผ ๋ง๋ค๊ฑฐ๋ ์์คํ ์ ๋ฐ์ ์ฐ๋ ๊ธฐ๊ฐ ํฉ์ด์ง ์ ์์ต๋๋ค. ์ข์ CSV ๊ฐ์ ธ์ค๊ธฐ ์ด ๋งคํ UI๋ ์ด๋ค ๋ฐ์ดํฐ๋ ๊ธฐ๋กํ๊ธฐ ์ ์ ๋ฌด์์ด ์ผ์ด๋ ์ง๋ฅผ ๋ณด์ฌ์ค ๊ทธ ๋ถ์์ ์์ฑ๋๋ค.
โ๋งคํ(mapping)โ์ ๋จ์ง ์ง์ง๊ธฐ์ ๋๋ค. ์ฆ, CSV์ ์ด ์ด์ด ์ฑ์ ์ ํ๋๋ก ๋ค์ด๊ฐ๋ค๋ ๋ป์ ๋๋ค. ์๋ฅผ ๋ค์ด CSV ์ด โCompanyโ๋ ํ๋ โAccount nameโ์ผ๋ก, โStart Dateโ๋ โCustomer sinceโ๋ก ๋งคํ๋ฉ๋๋ค. ์ด๋ก ์ ๋จ์ํ์ง๋ง ์ด๋ฆ์ด ์ผ์นํ์ง ์์ผ๋ฉด ์ค์ํ๊ธฐ ์ฝ์ต๋๋ค.
๋ ์์ ํ ๊ฐ์ ธ์ค๊ธฐ๋ ๋ช ํํ ๊ธฐ๋์น๋ฅผ ์ค์ ํ๊ณ ์์ธก ๊ฐ๋ฅํ ์์๋ฅผ ๋ฐ๋ฆ ๋๋ค:
- ์ด์ ํ๋์ ๋งค์นญํ๊ธฐ(๋งคํ)
- ๋ฐ์ดํฐ๊ฐ ์์ ๋์ ๋์ ์ ํ(๊ธฐ๋ณธ๊ฐ)
- ๋ฌธ์ ํ์ธ(๊ฒ์ฆ)
- ๊ฒฐ๊ณผ ๋ณด์ฌ์ฃผ๊ธฐ(๋ฏธ๋ฆฌ๋ณด๊ธฐ)
- ๊ทธ๋ค์์์ผ ๋ ์ฝ๋ ์ฐ๊ธฐ
์ฌ์ฉ์๊ฐ ์ด ์์๋ฅผ ์ดํดํ๋ฉด ๊ฐ์ ธ์ค๊ธฐ๋ ํจ์ ์ฒ๋ผ ๋๊ปด์ง์ง ์์ต๋๋ค. ๋งค์นญ์ ํ๊ณ , ๋น์นธ์ ์ฑ์ฐ๊ณ , ๋ณด์ด๋ ์ค๋ฅ๋ฅผ ์์ ํ ๋ค ์์ ์๊ฒ ๊ฐ์ ธ์ค๊ธฐํ ์ ์๋ ์๋ด๋ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ๋ฉ๋๋ค.
์ข์ ์ด ๋งคํ ํ๋ฉด์ด ํด์ผ ํ ์ผ
CSV ๊ฐ์ ธ์ค๊ธฐ ์ด ๋งคํ UI์ ๋ชฉ์ ์ ํ๋์ ๋๋ค: ๋ฌด์์ด ์ ์ฅ๋๊ธฐ ์ ์ ์ด๋ค ์ผ์ด ์ผ์ด๋ ์ง ๋ช ํํ ๋ณด์ฌ์ฃผ๊ธฐ. ์ฌ์ฉ์๊ฐ ์ ๋ ์ฝ๋๋ฅผ ๋ง๋๋์ง, ๊ธฐ์กด ๋ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ๋์ง, ํ์ ๊ฑด๋๋ฐ๋์ง ์ถ์ธกํ ํ์๊ฐ ์์ด์ผ ํฉ๋๋ค.
ํ๋ฉด์ ๋ค์ ์ง๋ฌธ์ ๋ถ๋ช ํ ๋ตํด์ผ ํฉ๋๋ค:
- ์ด๋ค ํญ๋ชฉ์ด (์ ๋ ์ฝ๋๋ก) ์์ฑ๋๋๊ฐ, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ํ ์ด๋ธ์ด๋ ๊ฐ์ฒด์ ๋ค์ด๊ฐ๋๊ฐ
- ๋ฌด์์ด ์ ๋ฐ์ดํธ๋๋๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋งค์นญ์ ์ฐพ๊ธฐ ์ํด ์ด๋ค ํ๋๋ฅผ ์ฌ์ฉํ๋๊ฐ(์: ์ด๋ฉ์ผ ๋๋ ์ธ๋ถ ID)
- ๋ฌด์์ด ๊ฑด๋๋ฐ์ด์ง๋๊ฐ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด์ ๋ ๋ฌด์์ธ๊ฐ(ํ์ ํ๋ ๋๋ฝ, ์ค๋ณต, ์ ํจํ์ง ์์ ๊ฐ)
- ์ ๋ก๋๋ ํ์ผ์์ ์ค์ ์นด์ดํธ๋ฅผ ์ฌ์ฉํด ๊ฐ ๊ทธ๋ฃน์ ๋ช ํ์ด ํด๋น๋๋๊ฐ
- ๊ฐ์ด ๋น์ด ์์ ๋ ์์คํ ์ ๋ฌด์์ ํ ๊ฒ์ธ๊ฐ(๋น ์ํ ์ ์ง, ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ, ๊ธฐ์กด ๊ฐ ์ ์ง)
ํ์ ํ๋๋ ํน๋ณํ ๋ค๋ค์ผ ํฉ๋๋ค. ์๋จ์ ํ์ํ๊ณ ํ์๋ก ํ์ํ๋ฉฐ, ๊ฐ ํ์ ํ๋๊ฐ ๋งคํ๋์๊ฑฐ๋ ๋ช ์์ ๊ธฐ๋ณธ๊ฐ์ด ์ค์ ๋ ๋๊น์ง ์ฌ์ฉ์๊ฐ ๋งคํ์ ์๋ฃํ์ง ๋ชปํ๊ฒ ํ์ธ์. ์ ํ ํ๋๋ ๋งคํํ์ง ์์๋ ๋์ง๋ง, UI๋ ์ฌ์ฉ์๊ฐ ๋ฌด์ํ๊ธฐ๋ก ์ ํํ ๊ฒ์ด ๋ฌด์์ธ์ง ์๋ ค์ค์ผ ํฉ๋๋ค.
์ฌ๋๋ค์ ์์์ ์ฐ์ง ์๊ณ ๋ ๊ธฐ๋ณธ์ ์ธ ์ ๋ฆฌ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ๋งคํ์ด ์ด๋ฃจ์ด์ง๋ ์๋ฆฌ์์ ๋ฐ๋ก ์ฌ๋ฐฑ ์ ๊ฑฐ, ์ซ์ ํ์ ๋ณํ, ๋ ์ง ํ์ ์ ํ ๊ฐ์ ๊ฐ๋จํ ๋ณํ์ ์ ๊ณตํ์ธ์. ์๋ฅผ ๋ค์ด CSV์ " New York "์ด ๋ค์ด ์๋ค๋ฉด ํธ๋ฆผ ์ต์ ์ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ "New York"์ผ๋ก ๋ฐ๋๋ ๊ฒ์ ๋ณด์ฌ์ค์ผ ํฉ๋๋ค.
๋ชจ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ค๋จ์ํฌ ํ์๋ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ธ๋ก(block)๊ณผ ๊ฒฝ๊ณ (warning)๋ก ๊ตฌ๋ถํ๊ณ , ์ฐจ์ด๋ฅผ ํ์ดํ ๋ง๋ก ์ค๋ช ํ์ธ์.
- ํ์ ํ๋๊ฐ ์๊ฑฐ๋ ๋ ์ง๋ฅผ ํ์ฑํ ์ ์๊ฑฐ๋ ์ ๋ฐ์ดํธ ๋งค์นญ ํค๊ฐ ๋น์ด ์์ผ๋ฉด ์ฐจ๋จ
- ์ ํ๋ฒํธ ํ์์ด ์ด์ํ๊ฑฐ๋ ๊ฐ์ด ์๋ฆฌ๋ ๊ฒฝ์ฐ ๋๋ ์ ์ ์๋ ํ๋๊ฐ ๋ฌด์๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ
- ๊ฒฝ๊ณ ๊ฐ ์์ด๋ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํ์ฉํ๋ ๋ช ํ์ ์ํฅ์ ๋ฏธ์น๋์ง ๋ณด์ฌ์ฃผ๊ธฐ
์ด ๊ธฐ๋ณธ์ ์ํ๋ฉด ๊ฐ์ ธ์ค๊ธฐ ํ๋ฆ์ ๋๋จธ์ง ๋ถ๋ถ์ด ๋ ์ฐจ๋ถํด์ง๋๋ค. ์ฌ์ฉ์๊ฐ ํต์ ๊ถ์ ๋๋ผ๊ณ โ์ ์๋ชป ๊ฐ์ ธ์์ง?โ๋ผ๋ ์ง์ ํฐ์ผ๋ ์ค์ด๋ญ๋๋ค.
์ฌ์ฉ์๊ฐ CSV ์ด์ ํ๋์ ๋งค์นญํ๋๋ก ๋๊ธฐ
์ข์ CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๋ ํผ์ฆ์ด ์๋๋ผ ๋์์ด ๋๋ ์ด์์คํดํธ์ฒ๋ผ ๋๊ปด์ ธ์ผ ํฉ๋๋ค. ๋จผ์ ์ฒซ ๋ฒ์งธ ํ์ ํค๋๋ก ์ฝ๊ณ ์ฆ์ ์ ์ ๋งค์นญ์ ์ ๊ณตํ์ธ์. ๊ฐ๋จํ ์ ํธ๋ฅผ ์ฌ์ฉํ์ธ์(์: ์ด๋ฆ ์ ์ฌ์ฑ "email" -> "Email")์ ์์ ๋์์ด ๋ชฉ๋ก(์: "Phone" vs "Mobile", "Zip" vs "Postal code", "Company" vs "Organization").
์ ์์ ์ฐจ๋ถํ๊ณ ๋ช ํํ ๋ ๊ฐ์ฅ ์ ์๋ํฉ๋๋ค. ๋งค์นญ์ ์ ํํจ, ๊ฐ๋ฅ์ฑ ๋์, ๋ถํ์ค ๋ฑ์ผ๋ก ํ์ํ์ธ์. ํํธ๋ ๋์ ๊ฑฐ์ฌ๋ฆฌ์ง ์๊ฒ(์์ ๋ผ๋ฒจ์ด๋ ์์ด์ฝ) ๋์ด ์ฌ์ฉ์๊ฐ ๋น ๋ฅด๊ฒ ํ์ด๋ณผ ์ ์๊ฒ ํ์ธ์.
ํญ์ ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ๋ฎ์ด์ธ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ธ์. ๋๋กญ๋ค์ด์ ๊ด์ฐฎ์ง๋ง ๊ฒ์ ์์๋ฅผ ์ถ๊ฐํด ์ฌ์ฉ์๊ฐ "status"๋ฅผ ์ ๋ ฅํ๊ณ ๋ช ์ด ์์ ์ฌ๋ฐ๋ฅธ ํ๋๋ฅผ ์ ํํ ์ ์๊ฒ ํ์ธ์. ํ๋๊ฐ ๋ง์ ์ ํ์ด๋ผ๋ฉด ๊ทธ๋ฃนํ(์ฐ๋ฝ์ฒ, ์ฃผ์, ์ฒญ๊ตฌ ๋ฑ)ํด ๋ชฉ๋ก์ด ์๋์ ์ด์ง ์๊ฒ ๋ง๋์ธ์.
์ค์๋ก ๋์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ง๋ค๊ธฐ ์ด๋ ต๊ฒ ํ์ธ์:
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ ํ๋๋น ํ๋์ CSV ์ด๋ง ํ์ฉ
- ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ๋งคํ๋ ํ๋๋ฅผ ์ ํํ๋ฉด ๋ช ํํ ๊ฒฝ๊ณ ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๊ธฐ์กด ๋งคํ์ ๊ต์ฒดํ ์ง ๋ฌป๊ธฐ
- First name + Last name ๊ฐ์ด ๊ฒฐํฉ์ด ์ง์๋ ๋๋ง ๋ช ์์ "๊ฒฐํฉ(combine)" ์ต์ ์ ๊ณต
- ์์ง ๋งคํ๋์ง ์์ ํ์ ๋์ ํ๋๋ฅผ ๊ฐ์กฐ ํ์
์์ ์์: ์ฌ์ฉ์๊ฐ ์คํ๋ ๋์ํธ์์ "Mobile"๊ณผ "Phone"์ ๊ฐ์ ธ์ต๋๋ค. ๋ ๋ค ๊ฐ์ "Phone" ํ๋์ ๋งคํํ๋ ค ํ๋ฉด UI๋ ์ด๋ฅผ ๋ง๊ณ ํ๋๊ฐ ๋ฎ์ด์ฐ๊ฒ ๋ ๊ฒ์์ ์ค๋ช ํ๋ฉฐ ๋์(ํ๋๋ "Mobile"๋ก ๋งคํํ๊ฑฐ๋ ํ๋๋ฅผ ๋ฌด์)์ ์ ์ํด์ผ ํฉ๋๋ค.
AppMaster์์ ์ด ๊ธฐ๋ฅ์ ๋ง๋ ๋ค๋ฉด ๋งคํ ๋จ๊ณ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์งํ์ธ์: ์๋ ์ ์, ๊ฒ์ ํ์ฉ, ์ถฉ๋ ์ ํ ์ฐจ๋จ. ๋๋ถ๋ถ์ ๊ฐ์ ธ์ค๊ธฐ ๋ฌธ์ ๋ ๋ฐ๋ก ์ด ๋จ๊ณ์์ ์์ํ๋ฏ๋ก ๋๋ผ์์ ์ค์ผ์๋ก ๋ฐ์ดํฐ๊ฐ ๋ ๊นจ๋ํด์ง๋๋ค.
๋น ๊ฐ์ด๋ ์๋ชป๋ ๋ ์ฝ๋๋ฅผ ๋ง๋ ๊ธฐ๋ณธ๊ฐ
์ด ๋งคํ ํ๋ฉด์ ๋จ์ง ํ๋๋ฅผ ๋งค์นญํ๋ ๊ฒ ์ด์์ ํด์ผ ํฉ๋๋ค. CSV ์ ์ด ๋น์ด ์์ ๋ ๋ฌด์์ ํ ์ง ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ด ๋ถ๋ถ์ ๊ฑด๋๋ฐ๋ฉด ๋ฐ์ฏค ์ฑ์์ง ๋ ์ฝ๋๋ ์๋ชป๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ฐ ๋งคํ๋ ํ๋์ ๋ํด ๋ช ํํ "๋น ๊ฐ์ผ ๋(When blank)" ์ ํ์ง๋ฅผ ์ ๊ณตํ์ธ์. ๊ฐ์ ๋งคํ ํ ์์ ๋ณด์ด๊ฒ ํ์ฌ ์ฌ๋๋ค์ด ์ค์บํ ๋ ๋์น์ง ์๋๋ก ์์ธก ๊ฐ๋ฅํ๊ณ ๋์ ๋๊ฒ ํ์ธ์.
๋๋ถ๋ถ ํ์ด ํ์๋ก ํ๋ ์ธ ๊ฐ์ง ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋น ์ํ๋ก ๋๊ธฐ(ํ์ ๊ฐ์ ธ์ค๊ณ ํด๋น ํ๋๋ ๋น ์ํ ์ ์ง)
- ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ(์๋ ค์ง ๋์ฒด๊ฐ์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ)
- ํ ๊ฑฐ๋ถ(ํด๋น ํ์ ์คํจ๋ก ์ฒ๋ฆฌํ๊ณ ์ด์ ์ค๋ช )
๊ธฐ๋ณธ๊ฐ์ ๋ณ๋ ์ค์ ์์ด๋ ๊ฐ๋จํ๊ณ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค. ์: status = Active, country = US, owner = current user, source = "CSV import". CSV ๊ฐ์ ธ์ค๊ธฐ์์ ์ด๋ฌํ ๊ธฐ๋ณธ๊ฐ์ ์ฒซ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๊น๋ํ๊ฒ ๋ง์น๊ฒ ํ๊ฑฐ๋ ์๋๋ฉด ๋ช ์๊ฐ์ ์ ๋ฆฌ๋ฅผ ์๊ตฌํ๊ฒ ๋ง๋๋ ์ฐจ์ด์ผ ์ ์์ต๋๋ค.
ํ๋์ ํผ๋ ํฌ์ธํธ๋ ์์ฑ(create)๊ณผ ์ ๋ฐ์ดํธ(update)์ ์ฐจ์ด์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฉ์ผ์ด๋ ID๋ก ๊ธฐ์กด ๋ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์๋ค๋ฉด ๊ธฐ๋ณธ๊ฐ ๋์์ ๋ช ์์ ์ผ๋ก ํ์ํ์ธ์:
- ์์ฑ ์: ๊ธฐ๋ณธ๊ฐ์ ์ ๋ ์ฝ๋์ ๋๋ฝ๋ ๊ฐ์ ์ฑ์๋๋ค.
- ์ ๋ฐ์ดํธ ์: ๊ธฐ๋ณธ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค(์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก ์ ํํ์ง ์๋ ํ).
์ค์ฉ์ ์ธ ๊ท์น: "CSV์์ ๋น์ด ์์"๊ณผ "ํ๋๊ฐ ํฌํจ๋์ง ์์"์ ๋ค๋ฅด๊ฒ ์ทจ๊ธํ์ธ์. ์ฌ์ฉ์๊ฐ ํ๋๋ฅผ ๋งคํํ๊ณ "๋น ์ํ๋ก ๋๊ธฐ"๋ฅผ ์ ํํ๋ค๋ฉด ์ด๋ "์ง์ฐ๊ธฐ(clear)"๋ฅผ ์๋ฏธํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด ํ๋๋ฅผ ์ ํ ๋งคํํ์ง ์์๋ค๋ฉด ๋ณดํต "๊ฑด๋๋ฆฌ์ง ์๊ธฐ"๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ ๋งคํ๋ ํ๋ ์์ ๋ฐ๋ก ํ์ํ์ธ์. ์ค์ ์์ด์ฝ ๋ค์ ์จ๊ธฐ์ง ๋ง์ธ์. ์์ ์ธ๋ผ์ธ ํ๋(์: "๊ธฐ๋ณธ๊ฐ: Active")์ ํ ์ค ํํธ(์: "๋น ๊ฐ์ผ ๋๋ง ์ฌ์ฉ")๋ ๋๋ผ์์ ๋ง๊ณ ์ง์ ์์ฒญ์ ์ค์ ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ ์ ์ ๊ฒฐ๊ณผ์ ์ค๋ฅ๋ฅผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๊ฐ ์ ๋ขฐ๋ฅผ ์ป๋ ์๊ฐ์ ๋๋ค. ์ฌ์ฉ์๋ค์ ์๋ฌด ๊ฒ๋ ์ ์ฅ๋๊ธฐ ์ ์ ์ด๋ค ์ผ์ด ์ผ์ด๋ ์ง๋ฅผ ๋ด์ผ ํ๊ณ , ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ๊ณ ์น ์ ์๋ค๋ ํ์ ์ ๋๊ปด์ผ ํฉ๋๋ค.
์๊ณ ๋น ๋ฅธ ์ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ(์: ์ฒ์ 20~50ํ)์ ์ ์ฒด ํ์ผ์ ๋ํ ๊ฐ๋จํ ์์ฝ ์นด์ดํธ๋ฅผ ์ ๊ณตํ์ธ์. ์์ฝ์ ์ค์ ๋ก ์ฌ๋๋ค์ด ๊ถ๊ธํดํ๋ ์ง๋ฌธ์ ๋ตํด์ผ ํฉ๋๋ค: ๋ช ํ์ด ์์ฑ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๋๋์ง, ๋ฌธ์ ๊ฐ ์๋ ํ์ ๋ช ๊ฐ์ธ์ง, ๊ฑด๋๋ธ ํ์ ๋ช ๊ฐ์ธ์ง.
์ค๋ฅ๋ ์๊ฐ์ ์ด๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง๋์ธ์. ์คํจํ ์ ํํ ์ ์ ๊ฐ์กฐํ๊ณ ์ ์์ด๋ ์ฌ์ด๋ ํจ๋์ ์งง์ ์ด์ ๋ฅผ ํ์ํ์ธ์. ํ๋์ ํ์ ๋ฌธ์ ๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ค๋ฉด ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ๋ช ํํ ๋ณด์ฌ์ฃผ๊ณ ๋๋จธ์ง๋ ํ์ฅํด์ ๋ณด๊ฒ ํ์ธ์.
์ผ๋ฐ์ ์ผ๋ก ํ์ดํ ์ธ์ด๋ก ์ค๋ช ํ ์ด์ ๋ค:
- ํ์ ๊ฐ ๋๋ฝ(์: Email์ ํ์์ ๋๋ค)
- ํ์ ์ค๋ฅ(์: ์๋ชป๋ ๋ ์ง ํ์: YYYY-MM-DD ์ฌ์ฉ)
- ํ์ ์ค๋ฅ(์: ์๋์ ์ซ์์ฌ์ผ ํฉ๋๋ค)
- ์ ์ ์๋ ๊ฐ(์: Status๋ Active, Paused, Closed ์ค ํ๋์ฌ์ผ ํฉ๋๋ค)
- ๊ธธ์ด ์ด๊ณผ(์: Notes๋ ์ต๋ 500์)
ํํฐ๋ง์ ์ถ์ ์ง์ ํฌ๊ฒ ๋์ด๋ ๊ธฐ๋ฅ์ ๋๋ค. "์ค๋ฅ๊ฐ ์๋ ํ๋ง" ์ ํ ํ ๊ธ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ด์์ ์๋ํ๋ ๊ฒ์ ์์๋ฅผ ์ถ๊ฐํ์ธ์. ์๋ฐฑ ๊ฐ์ ์ ์ ํ์ ์คํฌ๋กคํ๋ ๋์ ์์ ์ด ํ์ํ ๋ถ๋ถ์ ์ง์คํ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ธฐ์ ์ ์ฉ์ด๋ ํผํ์ธ์. ์ฌ์ฉ์๋ "Parse exception"์ด๋ "Constraint violation" ๊ฐ์ ๋ฌธ๊ตฌ๋ฅผ ์ ๋ ๋ณด์ง ์์์ผ ํฉ๋๋ค. ์ด๋(ํ๊ณผ ์ด)์์ ๋ฌด์์ด ์๋ชป๋์๋์ง, ๋ค์์ ๋ฌด์์ ํด์ผ ํ ์ง ์๋ ค์ฃผ์ธ์. AppMaster์์๋ ๊ฐ์ ธ์ค๋ ๋์์ด ๋จ์ง ํํํ ํ ์ด๋ธ์ด ์๋๋ผ ์ค์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ฒ์ฆ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ข ๋ฅ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ ํนํ ์ ์ฉํฉ๋๋ค.
๊ฐ์ ธ์ค๊ธฐ ๋ด์์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ์๋ ๋ฐฉ๋ฒ๋ค
์ข์ CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๋ ๋ฌธ์ ๋ฅผ ์ง์ ํ๋ ๋ฐ์ ๋๋์ง ์์์ผ ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ํ๋ฆ์ ๋ฒ์ด๋์ง ์๊ณ ๋ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์์ ์ ์ ์ฉํ ์ ์๊ฒ ํด์ผ ํฉ๋๋ค.
์คํจํ ์ด ์์ ์ธ๋ผ์ธ ์์ ์ ์ ๊ณตํ๋ ๊ฒ๋ถํฐ ์์ํ์ธ์. ์์คํ ์ด ๋ ์ง๋ฅผ ํ์ฑํ์ง ๋ชปํ๋ฉด ์ฌ์ฉ์๊ฐ ์์ ๋ ์ง ํ์(์: MM/DD/YYYY vs DD/MM/YYYY)์ ์ ํํ๊ณ ์ฆ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ฌ์คํํ๊ฒ ํ์ธ์. ์ด์ "Yes/No"๊ฐ ๋ค์ด์ค๊ณ ํ๋๊ฐ true/false๋ฅผ ๊ธฐ๋ํ๋ฉด ๊ฐ๋จํ ๋ณํ ํ ๊ธ์ ์ ๊ณตํ์ธ์.
๊ฐ ์งํฉ์ด ๊ณ ์ ๋ ํ๋(์: status, state, plan)์ ๋ํด์๋ ๊ฐ ๋งคํ์ด ๊ฐ์ฅ ํฐ ์๊ฐ ์ ์ฝ์ ๋๋ค. ๊ฐ์ ธ์ค๊ธฐ์์ "NY"๋ฅผ ๋ณด์ง๋ง ์ฑ์ "New York"์ ์ ์ฅํ๋ฉด ์ฌ์ฉ์๋ ํ ๋ฒ ๋งคํํ๊ณ ๋ชจ๋ ํ์ ์ ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ฐ์ ์์ด๋์ด๋ ๋์๋ฌธ์ ์ ๊ทํ์๋ ์ ์ฉ๋ฉ๋๋ค(์: "active", "Active", "ACTIVE"๋ฅผ ๋จ์ผ ํ์ฉ ๊ฐ์ผ๋ก ํฉ์น๊ธฐ).
๋น ๋ฅธ ๋์์ผ๋ก ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฆฌํ์ธ์:
- ์๋ค ๊ณต๋ฐฑ ์ ๊ฑฐ
- ๋น ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋์ฒด(์: "Unknown")
- ์ฒ ๋จ์ ๊ตฌ๋ถ์ ์ ๊ฑฐ("1,200" -> "1200")
- ์ ํ๋ฒํธ ์ ๊ทํ(์ซ์๋ง ์ ์ง)
- ์ด๋ฆ์ ์ ๋ชฉํ(Title Case)์ผ๋ก ๋ณํ
์ด ๋์๋ค์ ๋๋๋ฆด ์ ์๊ฒ ํ์ธ์. ๋ฌด์์ด ๋ฐ๋์ง, ๋ช ํ์ ์ํฅ์ ๋ฏธ์น ์ง ๋ณด์ฌ์ฃผ๊ณ Undo๋ฅผ ํ์ฉํ์ธ์. ์ ํํ ์ด์ ๋ํด ์์ "๋ณ๊ฒฝ ์ /ํ" ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํ๋ฉด ๋๋ผ์์ ๋ง์ ์ ์์ต๋๋ค.
์ฑ ๋ด์์ ๊ณ ์น ์ ์๋ ๊ฒ์ ๋ถ๋ช ํ ์๋ ค์ฃผ์ธ์. ์ด์ด ํต์งธ๋ก ์๊ฑฐ๋, ์ด์ค์ผ์ดํ๋์ง ์์ ์ผํ ๋๋ฌธ์ ํ์ด ๋ฐ๋ ธ๊ฑฐ๋, ํ์ผ์ด ์ค๊ฐ์ ๋ค๋ฅธ ํค๋๋ฅผ ์์ด ์ฐ๊ณ ์๋ค๋ฉด ์ต์ ์ ํด๊ฒฐ์ฑ ์ CSV๋ฅผ ํธ์งํ๋ ๊ฒ์ ๋๋ค. ๋ฌด์์ ๋ณ๊ฒฝํด์ผ ํ๋์ง ํ์ดํ๊ฒ ์ค๋ช ํ์ธ์.
๊ฐ๋จํ ์: 600ํ์ ๊ฑธ์ณ "CA "์ฒ๋ผ ๋ค์ ๊ณต๋ฐฑ์ด ์๋ ๊ฒฝ์ฐ ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ์ ๋ฆฌํ๋ฉด ๊ฒ์ฆ์ด ํต๊ณผ๋๊ฒ ํ ์ ์์ต๋๋ค.
๊ฐ๋จํ ๋จ๊ณ๋ณ ๊ฐ์ ธ์ค๊ธฐ ํ๋ฆ
์ข์ CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๋ ์์ ์ ๋ช ๊ฐ์ ์์ ๊ฒฐ์ ์ผ๋ก ๋๋ ์ฐจ๋ถํ๊ฒ ๋๊ปด์ง๊ฒ ํฉ๋๋ค. ์ฌ์ฉ์๋ ํญ์ ๋ค์์ ๋ฌด์์ด ์ผ์ด๋ ์ง, ์์ ์ ๋ฐ์ดํฐ์ ์ด๋ค ์ํฅ์ด ์์์ง ์์์ผ ํฉ๋๋ค.
์ ๋ก๋๋ถํฐ ์์ํ์ธ์. ํ์ผ์ ์ ํํ๋ฉด ์ฆ์ ๊ตฌ๋ถ์์ ์ธ์ฝ๋ฉ์ ๊ฐ์งํ๊ณ ์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ(ํค๋์ ์ฒ์ ํ๋ ํ)๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฌ๊ธฐ์ ๊ตฌ๋ถ์๊ฐ ์๋ชป๋์ด ํ ์ด๋ง ๋ณด์ด๋ ๋ฌธ์ ๋ ์ธ์ฝ๋ฉ ๋ฌธ์ ์์ ์ค๋ ์ด์ํ ๋ฌธ์๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํฉ๋๋ค.
๊ทธ๋ค์ ๊ฐ์ ธ์ค๊ธฐ ๋์์ ๋ฌป์ต๋๋ค. ์ผ๋ถ ์ฌ์ฉ์๋ ์ ๋ ์ฝ๋๋ง ๋ง๋ค๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๋ ๊ธฐ์กด ๊ฒ์ ์ ๋ฐ์ดํธํ๋ฉฐ, ๋ง์ ์ฌ๋์ ์ ์ํธ๊ฐ ํ์ํฉ๋๋ค. ์ ๋ฐ์ดํธ๋ ์ ์ํธ๋ฅผ ์ ํํ๋ฉด ์๋ณ์(์: ์ด๋ฉ์ผ, ์ธ๋ถ ID, ์ฃผ๋ฌธ ๋ฒํธ)๋ฅผ ์๊ตฌํ๊ณ ํด๋น ์๋ณ์ ์ด์ ๋น ๊ฐ์ด๋ ์ค๋ณต์ด ์์ผ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ์ํ์ธ์.
๊ทธ๋ค์ ๋งคํ๊ณผ ๊ธฐ๋ณธ๊ฐ ์ค์ ์ผ๋ก ์ด๋ํ ๋ค ๊ฒ์ฆ์ ์คํํฉ๋๋ค. ์ฌ์ฉ์๋ ์ด๋ค CSV ์ด์ด ์ด๋ค ํ๋๋ฅผ ์ฑ์ธ์ง, ์ด๋ค ํ๋๋ ๊ธฐ๋ณธ๊ฐ์ ์ธ์ง, ์ด๋ค ํ๋๋ ๋น์๋์ง๋ฅผ ํ์ธํฉ๋๋ค. ๊ฒ์ฆ์ ๋น ๋ฅด๊ณ ๊ตฌ์ฒด์ ์ด์ด์ผ ํ๋ฉฐ ํ์ , ํ์ ํ๋, ์ค๋ณต, ์ฐธ์กฐ ๊ท์น์ ํ์ธํด์ผ ํฉ๋๋ค.
๋จ์ํ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํ์ผ ์ ๋ก๋ ๋ฐ ๋ช ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
- ๋ชจ๋ ์ ํ: ์์ฑ, ํค๋ก ์ ๋ฐ์ดํธ, ๋๋ ์ ์ํธ(๊ทธ๋ฆฌ๊ณ ํค ์ ํ)
- ๋งคํ๊ณผ ๊ธฐ๋ณธ๊ฐ ํ์ธ ํ ๊ฒ์ฆ ์คํ
- ์ค๋ฅ ๊ฒํ ๋ฐ ์์ (๋๋ ์ค๋ฅ ํ๋ง ๋ด๋ณด๋ด๊ธฐ)
- ๊ฐ์ ธ์ค๊ธฐ ์คํ ๋ฐ ์๋ฃ ์์ฝ ํ์
์ค๋ฅ ๊ฒํ ๋จ๊ณ์์๋ ์ฌ์ฉ์๊ฐ ๊ณ์ ์งํํ๋๋ก ํ์ธ์. ์ค๋ฅ ์ ํ๋ณ ์นด์ดํธ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ค๋ฅ ์๋ ํ๋ง ํํฐ๋งํ๊ฒ ํ๋ฉฐ ๋ค์ ๋์(์ธ๋ผ์ธ ์์ , ํ ๋ฌด์, ๋ฌธ์ ํ ๋ค์ด๋ก๋ ํ ์ฌ์ ๋ก๋)์ ๋ช ํํ ํ์ธ์.
๋ง๋ฌด๋ฆฌ๋ ๋ถ๋ช ํ ์์ฝ์ผ๋ก ํ์ธ์: ์์ฑ๋ ๋ ์ฝ๋ ์, ์ ๋ฐ์ดํธ๋ ์, ๊ฑด๋๋ด ์, ์คํจํ ์์ ํจ๊ป ์ด๋ค ํค๋ก ๋งค์นญํ๋์ง ํ์ํฉ๋๋ค. AppMaster ๊ฐ์ ๋๊ตฌ๋ผ๋ฉด ์ด ์์ฝ์ UI๊ฐ ๊ธฐ๋ํ ๊ฒ์ด ์๋๋ผ ๋ฐฑ์๋๊ฐ ์ค์ ๋ก ์ด ๋ด์ฉ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
ํผํด์ผ ํ ํํ ํจ์
ํ๋ ๋งคํ๊ณผ Import ๋ฒํผ๋ง ์์ผ๋ฉด ํ๋ฉด์ด "์์ฑ"๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค. ํ์ง๋ง ์ง์ง ๋ฌธ์ ๋ ๋ฐ์ดํฐ๊ฐ ์์คํ ์ ๋ค์ด๊ฐ ๋ค์ ๋๋ฌ๋ฉ๋๋ค: ์ค๋ณต, ๋ฌด์ธ์ ๋ณ๊ฒฝ, ์๋ฌด๋ ๊ณ ์น์ง ๋ชปํ๋ ์ค๋ฅ๋ค.
๊ณ ์ ์ ํจ์ ์ค ํ๋๋ ๊ณ ์ ์๋ณ์ ์์ด ์ ๋ฐ์ดํธ ๋ฐฉ์์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ฉ์๊ฐ Customer ID๋ Email ๊ฐ์ ๋ณด์ฅ๋ ๊ณ ์ ํ๋๋ฅผ ๋งคํํ์ง ๋ชปํ๋ฉด ๊ธฐ์กด ๋ ์ฝ๋๋ฅผ ์ ๋ขฐ์ฑ ์๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋ณดํต ์ฌ๋ฌ ๊ฐ์ ๋์ผํ ๋ ์ฝ๋๊ฐ ๋ง๋ค์ด์ง๋ ๊ฒ์ ๋๋ค. ์๋ณ์๊ฐ ์์ผ๋ฉด UI๊ฐ ์ด๋ฅผ ๋ช ํํ ์๋ฆฌ๊ณ ์ ํ์ง๋ฅผ ์ ๊ณตํ์ธ์: "์ ๋ ์ฝ๋๋ก ๊ฐ์ ธ์ค๊ธฐ" ๋๋ "์ค๋จํ๊ณ ID ์ถ๊ฐ".
๋ ๋ค๋ฅธ ๋ฏธ๋ฌํ ๋ฌธ์ ๋ ๋ฌต์์ ์ธ ํ์ ๊ฐ์ ๋ณํ์ ๋๋ค. "00123" ๊ฐ์ ๊ฐ์ ์ซ์๊ฐ ์๋๋ผ ์ค์ ์ฝ๋์ผ ์ ์์ต๋๋ค. ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์ด๋ฅผ 123์ผ๋ก ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ฉด ์์๋ฆฌ 0๊ฐ ์ฌ๋ผ์ง๊ณ ๋์ค์ ๋งค์นญ์ด ๊นจ์ง ์ ์์ต๋๋ค. ZIP/์ฐํธ๋ฒํธ, SKU, ๊ณ์ ์ฝ๋์ฒ๋ผ ์ซ์์ฒ๋ผ ๋ณด์ด๋ ๋ฌธ์์ด์ ์ ์คํ ๋ค๋ฃจ์ธ์. ํ์ ์ ๋ณํํด์ผ ํ๋ค๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ ๋ณ๊ฒฝ ์ ํ๋ฅผ ๋ณด์ฌ์ฃผ์ธ์.
๊ฒ์ฆ์ ๋ ๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ์คํจํ ์ ์์ต๋๋ค. ๋๋ฌด ์๊ฒฉํ๋ฉด ๋ฌดํดํ ํ์ ์ฐจ๋จํ๊ณ (์: ์ ํ์ ์ ํ๋ฒํธ ๋๋ฝ), ๋๋ฌด ๋์จํ๋ฉด ์ฐ๋ ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค(์: ๋น ์ด๋ฆ, ์ ํจํ์ง ์์ ์ด๋ฉ์ผ, ์๋ฏธ ์๋ ๋ ์ง). ๋ ๋์ ์ ๊ทผ๋ฒ์ ๊ตฌ๋ถ์ ๋๋ค:
- ์ฐจ๋จ ์ค๋ฅ(์์ ํด์ผ๋ง ๊ฐ์ ธ์ค๊ธฐ ๊ฐ๋ฅ)
- ๊ฒฝ๊ณ (๊ฐ์ ธ์ค๊ธฐ๋ ๊ฐ๋ฅํ์ง๋ง ์ฌ์ฉ์๊ฐ ๊ฒํ ํด์ผ ํจ)
- ๊ฐ์์ ์ธ ์๋ ์์ (๊ณต๋ฐฑ ์ ๊ฑฐ, ๋์๋ฌธ์ ์ ๊ทํ) ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ ํ์
์ค๋ฅ ๋ฉ์์ง๋ ํด๋น ์ ์ ์ ํํ ๊ฐ๋ฆฌํค์ง ์์ผ๋ฉด ์ธ๋ชจ์์ด์ง๋๋ค. ํญ์ ํน์ ํ๊ณผ ์ด์ ํผ๋๋ฐฑ์ ์ฐ๊ฒฐํ๊ณ ์๋ ๊ฐ์ ํฌํจํ์ธ์. "Row 42, Email: 'bob@' is not a valid email"์ "Invalid data found"๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค.
๋ง์ง๋ง ํ์ธ์ ๋ชจํธํ๊ฒ ํ์ง ๋ง์ธ์. ์ฌ์ฉ์๋ ๋ช ํ์ด ์์ฑ๋๊ณ ๋ช ํ์ด ์ ๋ฐ์ดํธ๋๋ฉฐ ๋ช ํ์ด ๊ฑด๋๋ฐ์ด์ง๋์ง ๋ณด๊ณ ์ถ์ดํฉ๋๋ค. ์ ๋ฐ์ดํธ๊ฐ ๊ด๋ จ๋ผ ์์ผ๋ฉด ์ด๋ค ์๋ณ ํ๋๋ก ๋งค์นญํ ์ง ๋ณด์ฌ์ค์ผ ์๋ชป๋ ๋งคํ์ผ๋ก ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ฐ๋ ์ผ์ ๋ง์ ์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ Import ๋ฒํผ์ ๋๋ฅด๊ธฐ ์ ์ ๋น ๋ฅธ ์ ๊ฒ ํญ๋ชฉ
์ฌ๋์ด Import ๋ฒํผ์ ๋๋ฅด๊ธฐ ์ง์ ๋ฌป๋ ๋จ์ํ ์ง๋ฌธ์: "๋ด ๋ฐ์ดํฐ๋ฅผ ๋ง์น ๊ฑด๊ฐ?"์ ๋๋ค. ์ข์ CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๋ ๋ช ํํ๊ณ ์ฐจ๋ถํ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๊ทธ ์ง๋ฌธ์ ๋ตํฉ๋๋ค.
์์ ์ค์ ์ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋จผ์ ๋ณด์ฌ์ฃผ์ธ์. ๋๋ถ๋ถ ์ฌ๋์ 10~20ํ ์ํ๋ก ์ด์ด ๋ฐ๋ฆฐ ๊ฒ, ์ด์ํ ๋ ์ง ํ์, ์ถ๊ฐ ๊ณต๋ฐฑ ๊ฐ์ ๋ช ๋ฐฑํ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํฉ๋๋ค. ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ ํ์ฌ ๋งคํ์ด ์ ์ฉ๋ ์ํ๋ฅผ ๋ฐ์ํด์ผ ํ๋ฉฐ, ์ฌ์ฉ์๋ ์ ํํ ๋ฌด์์ด ๊ธฐ๋ก๋ ์ง ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค.
๋ค์์ผ๋ก ํ์ ํ๋๋ฅผ ๋์ ๋๊ฒ ๋ง๋์ธ์. ํ์ ํ๋๊ฐ ๋งคํ๋์ง ์์๋ค๋ฉด ๊ฒฐ์ ์ ๊ฐ์ ํ์ธ์: ๋งคํํ๋ ์ง, ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ ์ง, ์ค๋จํ๋ ์ง. ์คํจํ ๊ฐ์ ธ์ค๊ธฐ์์ ํ์๊ฐ ๋๋ฝ์ ๋ฐ๊ฒฌํ๊ฒ ํด์๋ ์ ๋ฉ๋๋ค.
๋น ์ ์ ๋ํ ๊ท์น์ ํ์ดํ ์ธ์ด๋ก ํ์ํ์ธ์. ๋น ์นธ์ด ๋น์ด ์๊ฒ ๋ ์ง, ์ ๋ฐ์ดํธ ์ ๊ธฐ์กด ๊ฐ์ ์ ์งํ ์ง, ๊ธฐ๋ณธ๊ฐ์ด ๋ค์ด๊ฐ์ง ์๋ ค์ฃผ์ธ์. ๋งคํ ํ์ "Blank = keep existing value" ๊ฐ์ ์์ ๋ฌธ๊ตฌ๋ ๋ง์ ์๋ชป๋ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ง์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ์๊ฐ ๋ฌธ์ ์ ์ง์คํ๊ฒ ํ์ธ์, ์๋ฒฝ์ ๋ชฉํ๋ก ํ์ง ์๊ฒ. ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ค๋ฅ๋ ๊ฒฝ๊ณ ๊ฐ ์๋ ํ๋ง ํํฐ๋งํ๋ ๋ทฐ์ ํ ์์ ์ด์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ทฐ๋ฅผ ์ ๊ณตํ์ธ์. ๊ทธ๋ฌ๋ฉด ์์ ์ด ๋ถ๋ด์ค๋ฝ์ง ์์ต๋๋ค.
์ต์ข ๋ฒํผ ์์ ๋ฐฐ์นํ ์ ์๋ ๋น ๋ฅธ ์ฌ์ -๊ฐ์ ธ์ค๊ธฐ ์ฒดํฌ๋ฆฌ์คํธ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ ํ์ฌ ๋งคํ์ด ์ ์ฉ๋ ์ํ ํ์ ๋ณด์ฌ์ค๋ค
- ๋ชจ๋ ํ์ ํ๋๊ฐ ๋งคํ๋์๊ฑฐ๋ ๊ธฐ๋ณธ๊ฐ์ด ์๋ค
- ๋น ์ ํ๋์ด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ์ ๋ํด ๋ช ํํ ๋์ ์๋ค
- ์ค๋ฅ ์๋ ํ๋ง ํํฐ๋งํด ๋น ๋ฅด๊ฒ ๊ฒํ ํ ์ ์๋ค
- ์์ฑ vs ์ ๋ฐ์ดํธ vs ๊ฑด๋๋ฐ๊ธฐ(๋ฐ ์ค๋ฅ ์)์ ๋ํ ์์ฝ์ ๋ณด์ฌ์ค๋ค
AppMaster์์ ์ด๋ค์ ๋ง์ง๋ง ์์ ํ๋ฉด์ผ๋ก ์ทจ๊ธํ์ธ์. ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ฌ๊ธฐ์ ๋ง๋ ๊ฒ์ด ์์ฒ ๊ฑด์ ๋ ์ฝ๋๋ฅผ ๋์ค์ ์ ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํฉ๋๋ค.
์์ ์๋๋ฆฌ์ค: ์คํ๋ ๋์ํธ์์ ๊ณ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
์ง์ ๋ด๋น์๊ฐ ์คํ๋ ๋์ํธ์์ ๊ณ ๊ฐ ๋ชฉ๋ก์ ๋ด๋ณด๋ด๊ณ ๊ฐ๋จํ CRM์ผ๋ก ๋ถ๋ฌ์ค๋ ค ํฉ๋๋ค. CSV์๋ Name, Email, Phone, Status, Signup Date ์ด์ด ์์ต๋๋ค.
CSV ๋งคํ ํ๋ฉด์์ ๋ค์์ฒ๋ผ ๋งค์นญํฉ๋๋ค:
- Name -> Customer name
- Email -> Email (ํ์)
- Phone -> Phone (์ ํ)
- Status -> Status (๋๋กญ๋ค์ด)
- Signup Date -> Signup date (๋ ์ง)
๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ๋ก ๋ํ๋ฉ๋๋ค. ์ผ๋ถ ํ์๋ Email์ด ์์ต๋๋ค. Status ๊ฐ์ ์ผ๊ด๋์ง ์์ต๋๋ค(Active, ACTIVE, actv). Signup Date๋ ์์ฌ ์์ต๋๋ค: ์ด๋ค ํ์ 2025-01-03, ์ด๋ค ํ์ 01/03/2025, ๋ช๋ช์ 3 Jan 2025 ํ์์ ๋๋ค.
ํ์ผ ์ ์ฒด๋ฅผ ๊ณ ์น๋ผ๊ณ ๊ฐ์ํ๋ ๋์ , ๋งคํ ๋จ๊ณ์์ ์์ ํ ๊ธฐ๋ณธ๊ฐ๊ณผ ๊ท์น์ ์ค์ ํ๊ฒ ํ์ธ์. ์๋ฅผ ๋ค์ด Status์ ๊ธฐ๋ณธ๊ฐ์ "Active"๋ก ์ค์ ํ๋ ์ด์ด ๋น์ด ์์ ๋๋ง ์ ์ฉํ๊ณ , Signup Date์ ๋ํด ์์ ํ์(์: YYYY-MM-DD)์ ์ ํํ๊ณ ๋ค๋ฅธ ํ์์ ์ค๋ฅ๋ก ์ฒ๋ฆฌํ๋๋ก ํ ์ ์์ต๋๋ค.
๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ ๊ฒฐ์ ์ง์ ์ด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ์ ์์ต๋๋ค:
- 12ํ ์ฐจ๋จ: Email ๋๋ฝ
- 7ํ ํ๋๊ทธ: ์ ์ ์๋ Status ๊ฐ "actv"
- 5ํ ํ๋๊ทธ: ์๋ชป๋ ๋ ์ง ํ์
๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ ์ฌ์ฉ์๋ ์ถ์ธกํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ๊ณ ์นฉ๋๋ค. "actv"๋ฅผ ํ ๋ฒ์ "Active"๋ก ์ผ๊ด ๋งคํํ๊ณ , ์๋ชป๋ ๋ ์ง 5๊ฑด์ ์ธ๋ผ์ธ์ผ๋ก ์์ ํฉ๋๋ค. ์ด๋ฉ์ผ์ด ์๋ ํ์ ๊ฑด๋๋ฐ๊ฑฐ๋ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ค๋จํ๊ณ ํ์ ์ฑ์ ๋ฌ๋ผ๊ณ ์์ฒญํ ์ ์์ต๋๋ค.
AppMaster ๊ฐ์ ๋๊ตฌ๋ ๋งคํ ํ๋ฉด์ ๋ช ํํ ๊ฒ์ฆ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ๊ฒฐํฉํด ๊ฐ์ ธ์ค๊ธฐ ์ ์ ์ฌ์ฉ์๊ฐ ์ ๋ขฐํ ์ ์๊ฒ ๋ง๋ญ๋๋ค.
๋ค์ ๋จ๊ณ: ๊ฐ์ ธ์ค๊ธฐ UI๋ฅผ ์ถ์ํ๊ณ ์์ ํ๊ฒ ์ ์งํ๊ธฐ
์ด๊ธฐ ๋ฆด๋ฆฌ์ค๋ ํต์ ๋ ์คํ์ฒ๋ผ ๋ค๋ฃจ์ธ์. ์์ ํ ์คํธ ํ์ผ(10~50ํ)๋ก ์ ์ฒด ํ๋ฆ์ ์๋ํฌ์๋๋ก ์คํํ์ธ์: ๋งคํ, ๊ธฐ๋ณธ๊ฐ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์ต์ข ๊ธฐ๋ก. ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฐ๋ฅด๋ฉด ์ฌ์ฉ์๊ฐ ๋งคํ์ ์ ์ฅํด ๋ค์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ ๋น ๋ฅด๊ณ ์ผ๊ด๋๊ฒ ๋ง๋ค ์ ์๊ฒ ํ์ธ์. ์ ์ฅ๋ ๋งคํ์ ์ผํ์ฑ ์ฐฝ์์ ๋งค์นญ์ ์ค์ฌ ์์ ๋ง ์ญํ ๋ ํฉ๋๋ค.
CSV ๊ฐ์ ธ์ค๊ธฐ ๋งคํ UI๋ ์์ฐ์ค๋ฝ๊ฒ ์์นํด์ผ ํ ๊ณณ์ ๋ฐฐ์นํ์ธ์: ๋ฐ์ดํฐ ๊ถํ์ ๊ฐ์ง ๊ด๋ฆฌ์ ํจ๋์ด๋ ๋ด๋ถ ๋๊ตฌ ์์ ๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ณ ๊ฐ ์ง์ ๋ด๋น์๊ฐ ๊ณ ๊ฐ์ ์ถ๊ฐํ๋ ค๊ณ ๋ณ๋ ๊ถํ์ด๋ ๋ค๋ฅธ ์์คํ ์ ํ์๋ก ํ์ง ์๊ฒ ํ์ธ์. ๋ชฉ๋ก ๋ณด๊ธฐ์ ๊ฐ๊น์ด ์์น์ ๋๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.
๊ฐ์ ธ์ค๊ธฐ ์๋ฃ ํ์๋ ์งง๊ณ ํ์ดํ ๋ณด๊ณ ์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋์ค์ ๊ฒํ ํ ์ ์๊ฒ ๋ณด๊ดํ์ธ์. ์ฌ์ฉ์๊ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์ถ์ธกํ๊ฒ ํด์๋ ์ ๋ฉ๋๋ค.
๊ธฐ๋กํ ํญ๋ชฉ๊ณผ ๋ณด์ฌ์ค ํญ๋ชฉ
๋๋ฒ๊น ์ ์ถฉ๋ถํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์บก์ฒํ๋ ์ฌ์ฉ์๋ฅผ ์๋ํ์ง ์๊ฒ ํ์ธ์. ์ข์ ์ฌํ-๊ฐ์ ธ์ค๊ธฐ ์์ฝ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค:
- ์ฒ๋ฆฌ๋ ํ, ์์ฑ๋ ํ, ์ ๋ฐ์ดํธ๋ ํ, ๊ฑด๋๋ด ํ
- ์ค๋ฅ ์์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํ๊ฑฐ๋ ๋ณต์ฌ ๊ฐ๋ฅํ ์ค๋ฅ ๋ณด๊ณ ์(ํ ๋ฒํธ, ์ด, ๋ฉ์์ง)
- ์ด๋ค ์ ์ฅ๋ ๋งคํ๊ณผ ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋์๋์ง์ ๋ํ ๋ ธํธ
- ์์ ์๊ฐ๊ณผ ์ข ๋ฃ ์๊ฐ, ๋๊ฐ ์คํํ๋์ง
- ๋ณ๊ฒฝ๋ ๋ ์ฝ๋๋ก ๋ฐ๋ก ์ด๋ํ ์ ์๋ ๋น ๋ฅธ ๋งํฌ(์ฑ์์ ์ง์ํ๋ฉด)
AppMaster์์๋ผ๋ฉด Data Designer์์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ๋งํ๊ณ ์๊ฐ์ UI ๋น๋๋ก ๋งคํ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ๋ฉด์ ๋ง๋ค๊ณ , ๋น์ฆ๋์ค ํ๋ก์ธ์ค์์ ์๋ฌด ๊ฒ๋ PostgreSQL์ ์ฐ๊ธฐ ์ ์ ๊ฒ์ฆ์ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ๋ถ๋ฆฌํ๋ฉด "๋ฏธ๋ฆฌ๋ณด๊ธฐ"๋ ์์ ํ๊ฒ ์ ์ง๋๊ณ "๊ฐ์ ธ์ค๊ธฐ"๋ ์๊ฒฉํ๊ฒ ๊ด๋ฆฌ๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ถ์ ์ ํ ๊ฐ์ง ๋ ๊ฐ๋๋ ์ผ์ ์ถ๊ฐํ์ธ์: ๊ฐ ํ๊ฒฝ(staging, production)์์ ํ ์คํธ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํ์๋ก ํ๊ณ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ญํ ๋๋ ๊ถํ ๋ค์ ๋์ธ์. ์ด๋ฌ๋ฉด ๊ธฐ๋ฅ์ ์ ์ฉํ๋ฉด์๋ ์ํํ์ง ์๊ฒ ์ ์ง๋ฉ๋๋ค.


