获取datamapper sinatra中的所有模型名称

Get all model names in datamapper sinatra

有没有办法通过 DataMapper 检索数据库中存在的所有模型名称?它可以是任何 DB sqlite,MySQL.

目前我正在使用 sqlite 适配器像这样检索此信息

adapter = DataMapper.repository(:default).adapter
tableinfo = adapter.select("select * from sqlite_master where type='table'")

我希望它独立于数据库。但如果不可能,那么至少有一个 MySQL 等价物。

谢谢。

嗯。我对 DataMapper 做了更多研究。更仔细地阅读它的文档,发现这个 https://www.rubydoc.info/github/datamapper/dm-core/DataMapper/Model#descendants-class_method.

基本上它说的是:

DataMapper::Model.descendants # Return all models that extend the Model module

不确定这样做是否正确,但它解决了我的疑问。

谢谢。