Python 是否有任何数据库模型设计器可以输出SQLAlchemy模型?

Python 是否有任何数据库模型设计器可以输出SQLAlchemy模型?,python,model,sqlalchemy,data-modeling,Python,Model,Sqlalchemy,Data Modeling,我正在实现一个数据库模型来存储iCal日历格式的20多个字段,并且面临着将所有这些字段繁琐地输入到SQLAlchemy model.py文件中的问题。有更聪明的方法吗?我正在寻找可以为我创建model.py文件的GUI或模型设计器。我会指定列名和一些属性,例如,类型、长度等 至少,我需要这个设计器为一个表输出一个模型。按优先顺序递减的其他所需资源: 创建多个表 支持多个表之间的基本关系(1:1,1:n) 柱上的支撑约束 我也对实现这一目标的其他方法持开放态度,也许可以使用GUI在数据库中创建

我正在实现一个数据库模型来存储iCal日历格式的20多个字段,并且面临着将所有这些字段繁琐地输入到SQLAlchemy model.py文件中的问题。有更聪明的方法吗?我正在寻找可以为我创建model.py文件的GUI或模型设计器。我会指定列名和一些属性,例如,类型、长度等

至少,我需要这个设计器为一个表输出一个模型。按优先顺序递减的其他所需资源:

  • 创建多个表
  • 支持多个表之间的基本关系(1:1,1:n)
  • 柱上的支撑约束
我也对实现这一目标的其他方法持开放态度,也许可以使用GUI在数据库中创建表,然后将它们反射回模型中

感谢您提前提供反馈。

“我会指定列名和一些属性,例如类型、长度等。”

这不正是我们所说的吗

“乏味地将所有这些输入到SQLAlchemy model.py文件中”


如果这两个东西不相同,请解释它们的不同之处。

还有另一种方法可以生成SQLAlchemy模型。您可以使用Vertabelo-这是一个用于可视化数据库设计的在线工具。小项目完全免费

在Vertabelo中创建模型后,必须使用上提供的脚本将其转换为SQLAlchemy映射类

只需遵循以下步骤:

  • 下载图表作为XML文件(只需按工具栏菜单上的XML图标)

  • 生成SQLAlchemy模型

/vertabelo\u sqlalchemy.py-i your\u diagram.xml-o model.py

我知道这不是一个直接和完美的方法,但希望它适合您。

我刚刚找到了一个脚本插件

我还没怎么用过,但到目前为止它看起来很棒!。易于安装。有一个选项可以使输出与SQlite兼容。该脚本记录在MySQL Workbench中,因此您可以看到发生了什么

SQLWB插件对工具链也有好处,它可以导出SQlite创建脚本


我使用的是MySQL Workbench 6.2(Debian apt get one),但该脚本也适用于6.3版本。

您觉得在一个模型中编写20个字段很乏味吗?你的项目不会成功。请参阅下面我对S.洛特的评论。在我的日常工作中,我管理一个拥有400多个表的产品的开发团队。我正在寻找一个GUI来显示一个网格,在这个网格中,我通过下拉菜单选择可用的类型,在适用的情况下选择varchar长度,然后GUI生成有效和适当的SQLAlchemy语法。我不想输入语法。这是乏味的,更重要的是,容易出错。我可能会犯的一些错误直到运行时才被发现。我知道有些人喜欢手工编码数百个模型字段,但我不是其中之一。我更愿意专注于解决业务问题,而不是研究语法。有几个商业和免费的模型设计器可以生成DDL,它们在大型项目中非常有用。我在寻找同样的概念,但它适用于SQLAlchemy。@Kevin P.:“我不想键入语法”。然而,您必须键入字段名并做出许多设计决策。我仍然不知道如何键入字段名、键入字母“varchar”和键入字段长度是“容易出错的”。您必须在GUI中执行此操作。您必须在Python中执行此操作。我还看不出有什么不同。您能否提供一些更具体的方法,使您在使用GUI时不必键入。字母“varchar”似乎是一件小事。我遗漏了什么?@Kevin P.:“生成DDL”和生成Python是不同的;他们是不同的语言。DDL是SQL。SQLAlchemy是Python——比SQL简洁得多。也。你在评论中说“数百”,但在问题中说“20+”。如果数字有误,请将问题更新为您真正的问题。不,不一样。如果你“手工”设计一个数据库,你不是最终会在纸上画图表吗?我发现如果你有。。。大局。一段糟糕或缺失的关系在数码相册上尤为突出。那么,一旦您完成了模式,为什么不让计算机将其转换为SQLA代码呢?