当前位置: 首页 > news >正文

sqlacodegen使用方法

1、在虚拟环境里执行了:pip install sqlacodegen  (注意:非flask-sqlacodegen)

2、在代码内配置数据库环境,指定表

 1 # -*- coding:utf-8 -*-
 2 
 3 import os
 4 from contextlib import contextmanager
 5 from typing import Generator
 6 from sqlalchemy import create_engine
 7 from sqlalchemy.orm import sessionmaker
 8 
 9 HOST = '192.168.10.10'
10 PORT = 3306 
11 USERNAME = 'abc'
12 PASSWORD = 'abc'
13 DB = 'abc'
14 
15 DB_URI = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DB}'
16 
17 engine = create_engine(DB_URI, pool_pre_ping=True)
18 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
19 
20 # 创建session
21 DbSession = sessionmaker(bind=engine)
22 db_session = DbSession()
23 
24 @contextmanager
25 def session_maker(session=db_session):
26     try:
27         yield session
28         session.commit()
29     except:
30         session.rollback()
31         raise
32     finally:
33         session.close()
34 
35 def get_db() -> Generator:
36     """
37     get SQLAlchemy session to curd
38     :return: SQLAlchemy Session
39     """
40     db = None
41     try:
42         db = SessionLocal()
43         yield db
44     finally:
45         if db:
46             db.close()
47 
48 def get_db_connect() -> Generator:
49     """
50     get SQLAlchemy connect to exec sql
51     :return: SQLAlchemy connect
52     """
53     conn = None
54     try:
55         conn = engine.connect()
56         yield conn
57     finally:
58         if conn:
59             conn.close()
60 
61 if __name__ == '__main__':
62     # 根据数据库内的结构,生成模型文件
63     # 指定表
64     tables = ['applications','modules','pages','projects']
65     sqlacodegen_sql = f'sqlacodegen {DB_URI} --outfile=model_with_deployed.py --tables {",".join(tables)}'
66 
67     # 所有表
68     # sqlacodegen_sql = f'sqlacodegen {DB_URI} --outfile=all_db_models.py'
69     
70     os.system(sqlacodegen_sql)

3、执行代码


问题1:执行代码时提示:‘sqlacodegen‘ 不是内部或外部命令,也不是可运行的程序或批
解决方案:windows电脑的环境变量设置里的【**用户变量】内的【Path】进行编辑添加:

%USERPROFILE%\AppData\Roaming\Python\Python310\Scripts

(不行的话检查下python的位置,调整下上述路径...)

image

 
问题2:在系统cmd命令行内执行sqlacodegen --version可以正常返回sqlacodegen版本信息,在编辑器内执行时(我出现问题的是Visual Code)提示上面【问题1】的错误
解决方案:重启整个编辑器软件而非单个项目

http://www.sczhlp.com/news/1682.html

相关文章:

  • [Flink/Java] Flink Job 运行问题 FAQ
  • CF 1093 Div
  • Linux Cgroups(Control Groups)限制不同用户的CPU和内存资源
  • 动态代码记录
  • 怎么查看系统的上下⽂切换情况 - BinBin
  • 7.30
  • C语言基础-练习:猜数字
  • 题解:CF1270G Subset with Zero Sum
  • BARRA CNE6
  • IMA-Appraisal 简单介绍
  • RoD-TAL:罗马尼亚驾照考试问答基准
  • @NotBlank、@NotEmpty、@NotNull
  • pid查询树形结构
  • 图像生成-连续性方程-09 - jack
  • 2.7 rt-thread meunconfig运行原理分析
  • Fats移植系列1
  • charles破解
  • MySQL面试题及详细答案 155道(001-020) - 指南
  • C语言基础-随机数
  • 教育 AI 大事件!OpenAI 深夜甩出 ChatGPT Study,免费当你 24 小时私人家教
  • C语言基础-循环语句(循环结构)
  • 题解:AT_agc066_c [AGC066C] Delete AAB or BAA
  • CF2120D Matrix game 题解
  • DP - 数据结构优化
  • P1163 银行贷款-二分
  • PyTorch基础
  • Gitee Wiki重塑关键领域软件开发的知识管理范式
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第08章:增加菱形、平行四边形、圆角矩形,文本居中显示
  • 题解:CF1458C Latin Square
  • 探究 AI 智能体:扣子空间的使用门槛与未来进化方向