ํฌ๋กค๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฝ๊ณ , csvํ์ผ์ ์์ฑํ์ผ๋ฉด ์ด์ db์ ์ ๋ก๋ ํด๋ณด์
project ํ์ผ์ ๋ฃจํธ ๊ฒฝ๋ก(=manage.py๊ฐ ์๋ ๊ฒฝ๋ก)์ csv ํ์ผ ์ ๋ก๋๋ฅผ ์ํ file์ ์์ฑํ๋ค.
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "soohyunlee.settings")
# settings์์ ํ๋ก์ ํธ ๋ช
django.setup()
from products.models import Product
# ๋ด๊ฐ ๋ฃ๊ณ ์ ํ๋ ํ
์ด๋ธ์ด ์๋ ์ฑ(products)์์ class(prodcuct)๋ฅผ ๊ฐ์ ธ์จ๋ค
CSV_PATH_PRODUCTS = './starbucks_product.csv'
# ํฌ๋กค๋งํ๋ฉด์ ์์ฑํ csvํ์ผ
# ์๋๊ฒฝ๋ก์ด๊ธฐ ๋๋ฌธ์, ์ด ํ์ผ๊ณผ csvํ์ผ์ ๊ฐ์ ์์น์ ์์ด์ผํ๋ค.
# ํ์ผ์ ์ด์ด์ csv ํ์ผ์ mysql row๋ก ๋ฃ์ด์ค๋ค.
with open(CSV_PATH_PRODUCTS) as in_file:
data_reader = csv.reader(in_file)
for row in data_reader:
if row[0]:
menu_name = row[0]
image_url = row[1]
Product.objects.create(
name = menu_name,
image_url = image_url
)
#name๊ณผ image_url์ classํจ์ ๋ด ๋ด๊ฐ ์ค์ ํ ๋ณ์๋ช
์ด๋ค.
sql ์์ ์ ๋๋ก ํ์ธํด๋ณด์
mysql.server start
mysql -u root -p (๋น๋ฐ๋ฒํธ ์
๋ ฅ)
mysql> use test;
# use ๋ณด๋ ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
์
๋ ฅ
mysql> show tables;
# DB์์ ํ
์ด๋ธ ๋ฆฌ์คํธ ํ์ธ๊ฐ๋ฅ
# ์ฅ๊ณ ๋ก ํ
์ด๋ธ์ ์งฐ๋ค๋ ๊ฐ์ ํ์, models.py์ ์ฝ๋ ์ง ํ
์ด๋ธ์ด ๋ณด์ธ๋ค
select * from product_list;
# ๊ทธ๋ผ ๋ด๊ฐ ํ
์ด๋ธ ์์ ๋ฃ์ ๋ฐ์ดํฐ๊ฐ ๋ณด์ฌ์ง๋ค.
use test ๋ฅผ ๋ฐ๋ก ์
๋ ฅํ์ง ์๊ณ , ์๋์ ๊ฐ์ด select ๋ฌธ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
.ํ
์ด๋ธ๋ช
๊ฐ์ด ์
๋ ฅํด์ ๋ฐ๋ก ํ์ธ๊ฐ๋ฅํ๋ค.
select * from test.product_list;