当前位置: 首页 > 面试题库 >

从现有的MySQL数据库反向工程师SQLAlchemy声明性类定义?

范云
2023-03-14
问题内容

我已有一个包含约50个表的mysql数据库。

除了为每个表手动编写声明式SqlAlchemy类(如此处所示)外,还有没有我可以针对mysql数据库运行的工具/脚本/命令,它将为数据库中的每个表 生成 声明式样式的python类?

仅以一张表为例(理想情况下将为所有50张表生成),如下所示:

+---------+--------------------+
| dept_no | dept_name          |
+---------+--------------------+
| d009    | Customer Service   |
| d005    | Development        |
| d002    | Finance            |
| d003    | Human Resources    |
| d001    | Marketing          |
| d004    | Production         |
| d006    | Quality Management |
| d008    | Research           |
| d007    | Sales              |
+---------+--------------------+

是否有工具/脚本/命令可以生成包含以下内容的文本文件:

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class Department(Base):
   __tablename__ = 'departments'

   dept_no = Column(String(5), primary_key=True)
   dept_name = Column(String(50))

   def __init__(self, dept_no, dept_name):
       self.dept_no = dept_no
       self.dept_name = dept_name

   def __repr__(self):
      return "<Department('%s','%s')>" % (self.dept_no, self.dept_name)

问题答案:

使用sqlautocode:

它是一种灵活的工具,可以从现有数据库自动生成模型。

这与SqlSoup略有不同,它使您可以使用表而无需显式定义它们。另一方面,sqlalutocode将生成实际的python代码。



 类似资料:
  • 问题内容: 我基本上想采用由php应用程序(codeigniter框架)创建和使用的现有mysql数据库结构,并将其反向工程为django应用程序。有一些工具可以做到这一点吗?南迁徙也许? 问题答案: 创建一个项目,然后将设置指向@数据库 然后跑 这将为您指向的数据库打印出python模型文件 您可以通过执行以下操作将其输出到文件中 然后,您可以将文件移动到最合适的位置,并根据需要进行编辑。

  • 问题内容: 我正在将SQLAlchemy用作python项目的ORM。我创建了很少的模型/架构,并且工作正常。现在,我需要查询现有的MySQL数据库,而不仅仅是select语句,不能插入/更新。 如何围绕该现有数据库的表创建包装器?我已经简短地阅读了sqlalchemy文档和SO,但是找不到任何相关的内容。所有人都建议执行方法,在这里我需要编写原始sql查询,而我想以与使用SA模型相同的方式使用S

  • 火车票业务 有点久远一直忘了写,就记得这么多 一面: 1、自我介绍 2、聊实习,扣细节 3、聊实习项目技术难点,聊到了我用later view遇到的坑,面试官直接激动,并表示他前几天也碰到了这个坑,两边都很惊喜,直接惺惺相惜 4、聊竞赛经历,内容以及遇到的难点 5、开始八股,写吐了,这里就省略了,要看的看我之前的帖子 6、sql题,是啥忘了,难度中等吧 7、反问 二面 主管面: 1、自我介绍 2、

  • 数 据库(或者系统)事务的声明总是必须的。在数据库事务之外,就无法和数据库通讯(这可能会让那些习惯于自动提交事务模式的开发人员感到迷惑)。永远使用清 晰的事务声明,即使只读操作也是如此。进行 显式的事务声明并不总是需要的,这取决于你的事务隔离级别和数据库的能力,但不管怎么说,声明事务总归有益无害。当然,一个单独的数据库事务总是比很多琐 碎的事务性能更好,即时对读数据而言也是一样。 一 个 Hibe

  • MySQL数据库向导是一个循序渐进的过程,用于创建MySQL数据库和用户,最后添加用户来访问数据库。 要使用此界面,我们需要打开MySQL数据库向导,该向导可以在cPanel Home的数据库部分找到,如下所示。 Step 1 - 通过在文本输入中提供数据库名称来创建新数据库,一旦填充,单击Next Step 。 Step 2 - 通过提供用户名和密码来创建数据库用户。 完成后单击“ Create

  • 1 . 自我介绍 2.面试官,你们有教过大数据技术吗?应该没教过吧? 2.spark为什么比MapReduce快 3.spark算子链 4.问项目 5.Sql调优 6数据倾斜 6.一道sql题,思路,之前笔试做过,但只过了2/3 7.有接触过flink实时计算框架吗? 8.MySQL索引是越多越好吗?索引类型?什么时候用聚簇索引,什么时候用非聚簇索引 9.反问。 面试官挺好的,是我太菜了,一些没答