标签: sqlacodegen

Sqlacodegen 显示未找到 Argspec

任何人都可以帮我吗?我试图将 sqlacodegen 与 postgresql 结合使用来从我的数据库自动生成数据库模型,但它不断向我显示此导入错误

>sqlacodegen postgresql://postgres:j1234@localhost:4040/db1
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Scripts\sqlacodegen.exe\__main__.py", line 4, in <module>
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlacodegen\main.py", line 11, in <module>
    from sqlacodegen.codegen import CodeGenerator
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlacodegen\codegen.py", line 9, in <module>
    from inspect import ArgSpec
ImportError: cannot import name 'ArgSpec' from 'inspect' (C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\inspect.py)
Run Code Online (Sandbox Code Playgroud)

我正在使用 python 3.11、postgresql、sqlalchemy 2.0.15 和 sqlacodegen 2.3.0

我想从我的数据库中为我的 fastapi 自动生成数据库模型。我也对任何类型的 sqlacodegen 替代品持开放态度

postgresql sqlalchemy python-3.x sqlacodegen fastapi

8
推荐指数
1
解决办法
1457
查看次数

sqlacodegen 不创建任何表

我正在服务器上运行 PostgreSQL 数据库,并尝试使用 SQLAlchemy 连接到它。我发现sqlacodegen是一个很好的工具,可以自动生成元数据对象及其表。但是当我尝试运行时sqlacodgen postgresql+psycopg2://username:password@host:5432/dbname,我只得到这个:

# coding: utf-8
from sqlalchemy import MetaData


metadata = MetaData()
Run Code Online (Sandbox Code Playgroud)

连接字符串肯定是正确的,并且数据库已启动 - 我使用该连接字符串运行了一个小型 Python 脚本来连接到数据库,并用于execute对其运行查询,它返回的正是我所期望的。

我不知道从哪里开始调试这个。我可以做什么来看看出了什么问题?是否有某种sqlacodegen我缺少的要求?

python postgresql sqlalchemy python-3.x sqlacodegen

5
推荐指数
1
解决办法
1883
查看次数

Sqlacodegen生成混合模型和表格

执行此命令:

sqlacodegen <connection-url> --outfile db.py 
Run Code Online (Sandbox Code Playgroud)

db.py包含生成的表:

t_table1 = Table(...)
Run Code Online (Sandbox Code Playgroud)

和班级:

Table2(Base):
    __tablename__ = 'table2'
Run Code Online (Sandbox Code Playgroud)

问题是表只以一种方式生成 - 表或类.

我想让它只生成模型(类),但在提供的标志中我找不到这样的选项.任何的想法?

python sqlalchemy sqlacodegen

4
推荐指数
1
解决办法
1576
查看次数

如何运行sqlacodegen?

我不明白为什么我不能运行sqlacodegen.我希望用它来从我现有的PostgreSQL数据库创建一个SQLAlchemy模型.它不会运行.

当我打字sqlacodegen --help求助时,我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: bad operand type for unary -: '_Helper'
Run Code Online (Sandbox Code Playgroud)

基本说明在这里.

python sqlalchemy sqlacodegen

3
推荐指数
1
解决办法
6874
查看次数

未正确生成以字母“s”结尾的 ORM 类

我正在使用 SQLAlchemy 和sqlacodegen为我的 PostgreSQL 模型生成 ORM 类。但令我惊讶的是,以字母“s”结尾的表格导致了问题。

例如,我有一个如下表

employee_status
Run Code Online (Sandbox Code Playgroud)

为该表生成的 ORM 类如下

Class EmployeeStatu(Base):
    __tablename__ = "employee_status"
    col1 = Column(String(32))
Run Code Online (Sandbox Code Playgroud)

当表名中存在结尾字母“s”时,为什么类名中缺少结尾字母“s”?

python sqlalchemy sqlacodegen

2
推荐指数
1
解决办法
115
查看次数