从 python 使用 TSQL(SQL 服务器上的 mssql)时,如何为 SQLAlchemy 自动生成 ORM 代码?
How can I autogenerate ORM code for SQLAlchemy when consuming TSQL (mssql on SQL Server) from python?
SQLAlchemy 依赖于我构建 ORM 类,如下所示:
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)
有 tool/script/program 可以为我做这件事吗?
例如,在 C# 中,我可以将数据项从数据库资源管理器拖放到 VisualStudio 中,并为我自动生成实体 类(SQL 到 LINQ)。我正在为 python 寻找类似的东西。我在 VisualStudio and/or Spyder 工作。
您是否需要显式定义 类,或者在不编写代码的情况下定义它们是否可行?如果后者没问题,那么 SQLAlchemy 自己的 automap 可能就足够了。
否则,sqlacodegen 工具应该可以为您生成代码。
我刚刚成功使用 sqlacodegen 为我的 MS SQL Server 2014 数据库生成了 类。这非常容易;一下子就爱上了!
我正在使用 Python 3.7(如果重要的话)。以下是我在(管理员?)PowerShell 中使用的命令:
pip install sqlacodegen
pip install pymssql
sqlacodegen mssql+pymssql://sql_username:sql_password@server/database > db_name.py
- 它将在您的当前目录中创建 db_name.py。
- 然后您可以通过将 db_name.py 移动到与主脚本相同的文件夹并添加
import db_name
. 来使用这些 类
我没有指定端口,我的 server
设置为简单的计算机名称,没有指定安装,即 server\installation
。我使用了 sqlacodegen here and the database URL from here.
的说明
SQLAlchemy 依赖于我构建 ORM 类,如下所示:
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)
有 tool/script/program 可以为我做这件事吗?
例如,在 C# 中,我可以将数据项从数据库资源管理器拖放到 VisualStudio 中,并为我自动生成实体 类(SQL 到 LINQ)。我正在为 python 寻找类似的东西。我在 VisualStudio and/or Spyder 工作。
您是否需要显式定义 类,或者在不编写代码的情况下定义它们是否可行?如果后者没问题,那么 SQLAlchemy 自己的 automap 可能就足够了。
否则,sqlacodegen 工具应该可以为您生成代码。
我刚刚成功使用 sqlacodegen 为我的 MS SQL Server 2014 数据库生成了 类。这非常容易;一下子就爱上了!
我正在使用 Python 3.7(如果重要的话)。以下是我在(管理员?)PowerShell 中使用的命令:
pip install sqlacodegen
pip install pymssql
sqlacodegen mssql+pymssql://sql_username:sql_password@server/database > db_name.py
- 它将在您的当前目录中创建 db_name.py。
- 然后您可以通过将 db_name.py 移动到与主脚本相同的文件夹并添加
import db_name
. 来使用这些 类
我没有指定端口,我的 server
设置为简单的计算机名称,没有指定安装,即 server\installation
。我使用了 sqlacodegen here and the database URL from here.