django-vue-admin/dvadmin-backend/apps/permission/management/commands/initialization.py

49 lines
1.6 KiB
Python

import logging
import os
from django.core.management.base import BaseCommand
from django.db import connection
from scripts import getSql
logger = logging.getLogger(__name__)
class Command(BaseCommand):
"""
项目初始化命令: python manage.py initialization
"""
def customSql(self, sql_list):
"""
批量执行sql
:param sql_list:
:return:
"""
with connection.cursor() as cursor:
for sql in sql_list:
cursor.execute(sql)
connection.commit()
def init(self, sql_filename, model_name):
"""
初始化
:param sql_filename: sql存放位置
:param model_name: 模块名
:return:
"""
logger.info(f'正在初始化[{model_name}]中...')
self.customSql(getSql(sql_filename))
logger.info(f'[{model_name}]初始化完成!')
def handle(self, *args, **options):
self.init(os.path.join('system', 'system_dictdata.sql'), '字典管理')
self.init(os.path.join('system', 'system_dictdetails.sql'), '字典详情')
self.init(os.path.join('system', 'system_configsettings.sql'), '参数设置')
self.init(os.path.join('permission', 'permission_post.sql'), '岗位管理')
self.init(os.path.join('permission', 'permission_dept.sql'), '部门管理')
self.init(os.path.join('permission', 'permission_menu.sql'), '菜单管理')
self.init(os.path.join('permission', 'permission_role.sql'), '角色管理')
self.init(os.path.join('permission', 'permission_userprofile.sql'), '用户管理')