加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.py 3.21 KB
一键复制 编辑 原始数据 按行查看 历史
lianhang 提交于 2024-03-01 18:46 . ok
# -*- coding: UTF-8 -*-
from appconfig import appconfig
import mysql.connector
import os
import shutil
from services.daogenerate import DaoGenerate
from services.modelgenerate import ModelGenerate
from services.servicegenerate import ServiceGenerate
from services.flaskmodelgenerate import FlaskModelGenerate
from services.flaskdaogenerate import FlaskDaoGenerate
from services.jstypegenerate import JsTypeGenerate
from services.jsvuegenerate import JsVueGenerate
import subprocess
def generate_dir():
# 创建项目目录
src_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), appconfig.proname)
# 如果目录存在,则强制删除,重新创建
if os.path.exists(src_dir):
# 删除目录及其内容
shutil.rmtree(src_dir)
# 创建目录
os.makedirs(src_dir)
# 创建各层文件夹目录
appconfig.daolayerdirpath = os.path.join(src_dir, appconfig.daolayerdir)
os.makedirs(appconfig.daolayerdirpath)
appconfig.svclayerdirpath = os.path.join(src_dir, appconfig.svclayerdir)
os.makedirs(appconfig.svclayerdirpath)
appconfig.modellayerpath = os.path.join(src_dir, appconfig.modellayerdir)
os.makedirs(appconfig.modellayerpath)
appconfig.modelpythonlayerpath = os.path.join(src_dir, appconfig.modelpythonlayerpath)
os.makedirs(appconfig.modelpythonlayerpath)
appconfig.daopythonlayerpath = os.path.join(src_dir, appconfig.daopythonlayerpath)
os.makedirs(appconfig.daopythonlayerpath)
appconfig.jstypelayerpath = os.path.join(src_dir, appconfig.jstypelayerpath)
os.makedirs(appconfig.jstypelayerpath)
def generate_file():
conn = mysql.connector.connect(
host=appconfig.serverip,
user=appconfig.dbuser,
password=appconfig.dbpwd,
database=appconfig.dbname,
port=int(appconfig.serverport),
ssl_disabled=True
)
# 创建一个游标对象
cursor = conn.cursor()
# 执行查询语句获取数据库中的所有数据表
cursor.execute("SHOW TABLES")
# 获取查询结果
alltables = cursor.fetchall()
# 打印每个数据表的名称
for table in alltables:
t = table[0]
sqlcol = "SELECT column_name, DATA_TYPE, COLUMN_COMMENT, COLUMN_KEY, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, IS_NULLABLE FROM information_schema.`COLUMNS` " \
" WHERE table_name='" + t + "' AND table_schema='"+appconfig.dbname+"'"
cursor.execute(sqlcol)
allcols = cursor.fetchall()
# modelsvc = ModelGenerate(t, allcols)
# modelsvc.start()
#
# servicesvc = ServiceGenerate(t, allcols)
# servicesvc.start()
#
# daosvc = DaoGenerate(t, allcols)
# daosvc.start()
modelpython = FlaskModelGenerate(t, allcols)
modelpython.start()
daopython = FlaskDaoGenerate(t, allcols)
daopython.start()
jstype = JsTypeGenerate(t, allcols)
jstype.start()
jsvuetype = JsVueGenerate(t, allcols)
jsvuetype.start()
# 关闭游标和数据库连接
cursor.close()
conn.close()
def start_generate():
appconfig.readcfg()
generate_dir()
generate_file()
subprocess.call("pause", shell=True)
start_generate()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化