一年前我用 PHP 开发了一个 Web 平台,我为我为它编写的数据访问层感到有点自豪。从那时起,我开始一遍又一遍地重复使用相同的概念。但现在我想把它提升到一个新的水平,而不是重写整个数据库访问代码,我想创建一个工具来解析我的 SQL 模式并自行生成 DAL 类。
从 SQL 模式中生成代码所需的信息是:
* Tables
* Fields
* Fields types
* Foreign keys
事实上,我查找了一些 SQL 解析器并找到了一些东西,但我最终决定以不同的方式执行此操作。我不是从 SQL 模式本身生成代码,而是从我根据数据库真实模式创建的元数据生成它。
我想到了类似的东西:
TableName[
FieldA : Type;
FieldB: Type;
]
TableName2[
FieldA : Type, FK(TableName.FieldA);
FieldZ: Type;
]
这根本不是一个规范,它只是一个快速思考的结果,说明了我想要实现什么样的东西。
现在的问题是:python 是否有一些内置的 API,或者我可以使用一些 3rd 方库来解析一些格式,让我如上所述定义我的模式?我不想重新发明轮子,而且我对编写自己的解析器一点也不感兴趣,我想要的只是尽快获得一个基本的可用工具。
谢谢