728x90
๋ฐ˜์‘ํ˜•
[Heroku] Migrate Django SQLite to PostgreSQL

[ ์ด์Šˆ ] ์žฅ๊ณ ์˜ ๋กœ์ปฌ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ SQLite3 ๋ฅผ ์”๋‹ˆ๋‹ค. ํ—ค๋กœ์ฟ (๊ธฐ๋ณธ์ด PostgreSQL)์— ๋ฐฐํฌํ•œ ํ›„, ๋ฆฌ์–ผ์—์„œ๋„ ๋กœ์ปฌ์˜ sqlite ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ (๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์“ธ ๊ฒƒ์ด๊ณ  ๋”์ด์ƒ ์ถ”๊ฐ€/์ˆ˜์ •ํ•  ๊ฒƒ์ด ์—†๋Š” ๊ฐ„๋‹จ ํ”„๋กœ์ ํŠธ์—ฌ์„œ!) ํ—ค๋กœ์ฟ ๋Š” SQLite3 ๊ฐ™์ด file-based database ์™€ fit์ด ์•ˆ๋งž๋‹ค๊ณ  ํ•˜๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์ฐธ๊ณ ) ๋กœ์ปฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์–ผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒŒ ๋ชฉ์ ์ด๋‹ˆ๊นŒ How to migrate Django from SQLite to PostgreSQL ๋ฅผ ๋ณด๊ณ  ๋”ฐ๋ผํ•ด์ค๋‹ˆ๋‹ค. [1] ๋กœ์ปฌ > dump data ๋กœ์ปฌ์—์„œ ์ด ๋ช…๋ น์–ด๋ฅผ ๋Œ๋ ค์„œ dump.json์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๋กœ์ปฌ์— ์กด์žฌํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ dump.json ํŒŒ์ผ์— ..

๐Ÿ/Django 2021. 8. 1. 20:26
[Django] SQL ์Šคํฌ๋ฆฝํŠธ ๋Œ๋ฆฌ๊ธฐ -> ORM ์œผ๋กœ

์„ฑ๊ฒฝ API, ์„ฑ๊ฒฝ ๋ฐ์ดํ„ฐ ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ SQL ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ณต์œ ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌ! - ๊ฐœ์—ญํ•œ๊ธ€ SQL ๊ณต์œ ํ•ด์ฃผ์‹  ๋ธ”๋กœ๊ทธ (์ €์ž‘๊ถŒ ์ด์Šˆ ์—†์Œ!!) - ๊ฐœ์—ญ๊ฐœ์ • SQL ๊ณต์œ ํ•ด์ฃผ์‹  ์‚ฌ์ดํŠธ (์ €์ž‘๊ถŒ ์ด์Šˆ ํ™•์ธ ์•ˆ๋จ) ํ™•์žฅ์ž๋Š” sql์ด๊ณ  ์—ด์–ด๋ณด๋ฉด TABLE ๋งŒ๋“ค๊ณ  ๋ ˆ์ฝ”๋“œ insert ํ•˜๋Š” SQL๋ฌธ๋“ค์ด ์ž”๋œฉ ์žˆ๋‹ค. โœ”๏ธ ์ด ์Šคํฌ๋ฆฝํŠธ๋กœ ๋‚˜์˜ ์žฅ๊ณ  DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  โœ”๏ธ ์ด ํ˜•์‹์— ๋งž์ถฐ์„œ ์žฅ๊ณ  ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ORM ๋ฐฉ์‹์œผ๋กœ get ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. [1] SQL ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ ค์„œ DB์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ 1๏ธโƒฃ executescript (ํŒŒ์ด์ฌ ๊ณต์‹ ๋ฌธ์„œ) / How to execute an external SQL file using sqlite3 in Python (๋ธ”๋กœ๊ทธ) 2๏ธโƒฃ P..

๐Ÿ/Django 2021. 8. 1. 20:26
[Python] defaultdict / Counter / OrderedDict

collections - Container datatypes ์—์„œ ๋”•์…”๋„ˆ๋ฆฌ ์„œ๋ธŒํด๋ž˜์Šค 3๊ฐœ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋”•์…”๋„ˆ๋ฆฌ๋ž‘ ๋‹ค๋ฅด๊ฒŒ ์กฐ๊ธˆ ํŠน๋ณ„ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. [1] defaultdict ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค๋ฅผ ์กฐํšŒํ•  ๊ฒฝ์šฐ KeyError exception์ด ๋‚ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ defaultdict์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค๋ฅผ ์กฐํšŒํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„ค์ •ํ•œ ๋””ํดํŠธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋‹น ํ‚ค์— ๋Œ€ํ•œ ์•„์ดํ…œ์„ ๋”•์…”๋„ˆ๋ฆฌ์— ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. defaultdict์˜ first argument๋กœ default_factory ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋””ํดํŠธ๊ฐ’์„ 10์ด๋ผ๊ณ  ํ•ด์ค„๊ฒŒ์š”! '๋ผ์ด์–ธ' ์ด๋ผ๋Š” ํ‚ค๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ KeyError๋„ ์•ˆ๋‚˜๊ณ  ๋””ํดํŠธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์•„์ดํ…œ์„ ๋”•์…”๋„ˆ๋ฆฌ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ..

๐Ÿ/Python 2021. 4. 13. 02:03
๊ณต์ง€์‚ฌํ•ญ
Total
330,619
Today
268
Yesterday
358
๋งํฌ
«   2021/09   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
๊ธ€ ๋ณด๊ด€ํ•จ