动态ORM - Perl

3

我想升级一个现有的基于Perl的Web应用程序,并想知道如何解决一个特定问题的建议:

该应用程序由多个客户使用,每个客户在幕后都有非常定制的数据集。客户之间的数据集几乎没有重叠。然而,他们都加载并使用相同的软件。有许多配置文件告诉软件如何处理这个客户并理解它的定制数据集。

实质上,有共同的功能,但不同的数据集可以使这些功能工作。我正在寻找一种将数据集抽象成ORM的方法。然而,大多数ORM似乎都期望在幕后有一个公共数据集。我需要根据所使用的客户动态地加载ORM模块或基于相同模型动态创建ORM结构。

例如,该软件提供查看/编辑/删除功能,但

客户A 管理表格

客户B 管理汽车

查看功能加载配置文件,并为每个客户提供与他们管理的数据类型相关的自定义模板文件。

有什么建议吗?


1
你可能需要动态地将每个数据库加载到其自己的类命名空间中,然后作为一个整体来管理这些类。例如,DIBx::Class堆栈具有DBIx::Class::Schema::Loader,可以用于加载骨架类,或从头开始设置类。 - dwarring
2个回答

0

0

请参考Rose::DB::Object(RDBO)。

它支持通过其Loader包在运行时加载数据库结构。RDBO的作者John Siracusa总是很乐意在#rdbo或邮件列表中回答问题。

它也非常快速(一旦加载完成)和强大。如果您有一个比任何示例应用程序更复杂的数据库应用程序,我真的可以推荐它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接