django.db.connection 으로 Database 제어

백승진·2020년 12월 4일
0
import os
import sys

import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "suwee.settings")

django.setup()

from django.db import connection

with connection.cursor() as cursor:
    cursor.execute('set foreign_key_checks=0')
    cursor.execute('truncate books')
    cursor.execute('truncate categories')
    cursor.execute('truncate libraries')
    cursor.execute('truncate library_books')
    cursor.execute('truncate likes')
    cursor.execute('truncate reviews')
    cursor.execute('truncate users')
    cursor.execute('truncate user_books')
    cursor.execute('truncate keywords')
    cursor.execute('set foreign_key_checks=1')

print ('데이터 베이스 초기화')
  1. delete는 데이터를 지운다. 한줄씩 삭제하므로 느리다. rollback 가능
  2. drop은 테이블을 지운다. 빠르다. rollback 불가능
  3. truncate는 데이터를 지운다. 빠르다. rollback 불가능
profile
12년 .NET 개발 경력을 가진 웹 초짜 개발자입니다 :)

0개의 댓글