【发布时间】:2009-12-13 19:32:06
【问题描述】:
我在工作中经常遇到的一项任务是针对预先存在的数据库编写脚本。有时我连接到 Oracle,有时它可能是 MySql 甚至是 sql server。
我想要一个工具,它可以对数据库的表和外键进行逆向工程,并允许我针对数据库编写 OO 风格的脚本。这实际上可以是任何语言,但首选 python 或 ruby。
例如 - 这是我理想的 ruby 脚本:(假设 manager 和 employee 表已经存在外键)
DB = Database.connect(connect_string)
DB.managers.each do |manager|
puts manager.name
manager.employees.each do |employee|
puts employee.name
end
end
这种类型的库存在吗?如果是这样,那将节省我很多时间!
编辑 - 我想要的主要功能是它可以自动从数据库元数据中发现外键关联,而无需显式映射它们 - 我已经尝试过 ActiveRecord、SQLAlchemy、Sequel 和 DataMapper,据我所知,他们都做不到。
【问题讨论】: