How can I autogenerate ORM code for SQLAlchemy when consuming TSQL (mssql on SQL Server) from python?

Rob*_*ino 5 python orm code-generation sqlalchemy visual-studio

SQLAlchemy relies on me building ORM classes like this:

from sqlalchemy import Column, DateTime, String, Integer, ForeignKey, func
from sqlalchemy.orm import relationship, backref
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Department(Base):
    __tablename__ = 'department'
    id = Column(Integer, primary_key=True)
    name = Column(String)
Run Code Online (Sandbox Code Playgroud)

有没有可以为我完成此操作的工具/脚本/程序?

例如,在 C# 中,我只需将数据项从数据库资源管理器拖放到 VisualStudio 中,即可自动生成实体类(SQL 到 LINQ)。我正在为 python 寻找类似的东西。我正在 VisualStudio 和/或 Spyder 中工作。

Zac*_*ski 6

我刚刚成功使用 sqlacodegen 为我的 MS SQL Server 2014 数据库生成类。这非常简单;我立刻就爱上了它!

我正在使用 Python 3.7(如果重要的话)。以下是我在(管理员?)PowerShell 中使用的命令:

  1. pip install sqlacodegen
  2. pip install pymssql
  3. sqlacodegen mssql+pymssql://sql_username:sql_password@server/database > db_name.py
  4. 它将在您当前的目录中创建 db_name.py。
  5. 然后,您可以通过将 db_name.py 移动到与主脚本相同的文件夹并添加import db_name.

我没有指定端口,我的server端口设置为简单的计算机名称,没有指定安装,即server\installation我使用了此处的sqlacodegen 说明和此处的数据库 URL 。