Database 用于读取数据库架构的外部库或微型语言?
我正在考虑为我妻子编写一个简单的数据库应用程序,但我对良好的编程实践犹豫不决,希望有一个可读的源代码来存储数据库模式 只是,我不知道有什么工具可以做这项工作,我也不相信它们不存在——也许我只是不知道该问谷歌什么,但我没有找到它们 那么,有哪些库或其他工具支持从纯文本文件读取数据库模式呢Database 用于读取数据库架构的外部库或微型语言?,database,schema,mini-language,Database,Schema,Mini Language,我正在考虑为我妻子编写一个简单的数据库应用程序,但我对良好的编程实践犹豫不决,希望有一个可读的源代码来存储数据库模式 只是,我不知道有什么工具可以做这项工作,我也不相信它们不存在——也许我只是不知道该问谷歌什么,但我没有找到它们 那么,有哪些库或其他工具支持从纯文本文件读取数据库模式呢 对于invenetix的问题:我希望在构建时生成数据库创建代码,或者在发行版中包含模式描述,并在运行时根据描述构建数据库。Draemon的建议很好,但如果我能帮忙的话,我不想被锁定在预定的RDBMS中 也许我应
对于invenetix的问题:我希望在构建时生成数据库创建代码,或者在发行版中包含模式描述,并在运行时根据描述构建数据库。Draemon的建议很好,但如果我能帮忙的话,我不想被锁定在预定的RDBMS中 也许我应该说,我以前在编程项目中使用过数据库,但从未负责创建代码
可能我在这一点上过度设计了这个问题。只需使用SQL即可。SQL不仅是一种查询语言,而且是一种DDL(数据定义语言)。例如,如果您正在使用mysql;您可以根据需要设计模式,运行mysqldump,它将创建一个包含DDL语句的SQL文件。整理模式,然后您可以随时通过寻找SQL文件来加载模式。就我个人而言,我只是在文本编辑器中编写SQL模式并将其加载到mysql中
这将适用于mysql、postgresql、oracle,可能还有任何其他数据库。我还不能给出评论,但如果我理解正确,您希望应用程序或库根据文本文件中提供的数据构建模式吗
你能提供一个你想要完成的工作流程示例吗?哪一步是你遇到问题的地方?我想我现在明白多了 尽管市场上的每个SQL解决方案都应该遵守一定程度的ANSI SQL标准,但它们都会提供某种自定义数据类型,而这些数据类型可能不会在另一个SQL server解决方案中共享/使用/识别 例如,在MySQL 4中,您可以使用很多选择(日期、日期时间、时间、年份和时间戳),而在MS SQL 2000中,您只有几个选择(日期时间或SMALLDATETIME)。您必须确保最终生成的模式在您愿意支持的解决方案之间是通用的
这有帮助吗?SQLite不以文本格式保存数据,但它可能会做您喜欢的事情 它非常适合嵌入式数据库——没有服务器,没有设置,数据库位于单个文件中,可以由应用程序管理
您可能想退房。该工具用于读取数据库的模式,并允许您基于该模式创建代码模板。它有一个用于访问架构数据的抽象库。谢谢+1.RDBMS对类型信息有很大程度的依赖性吗?是的,很遗憾。对于除最简单的数据库外的所有数据库,您不太可能定义一个模式文件。但考虑到不同的数据库会以不同的方式执行简单的操作,如自动递增键,这并不奇怪。您可以维护等效的模式,或者使用类似SQLFairySQLFiry的工具。再次感谢。SQLite是我最初实施的计划,但我有理由希望以后有选择。但我注意到Sqlite并没有推动类似时间的类型,这可能是一个问题。尽管如此,还是投票吧。哇!将近七个月过去了。对你很好,我会调查的。我想晚做总比不做好吧?这个问题出现在我正在做的搜索中,我想我会有所贡献。:-)