Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态ORM-Perl_Perl_Orm - Fatal编程技术网

动态ORM-Perl

动态ORM-Perl,perl,orm,Perl,Orm,我希望升级现有的基于perl web的应用程序,并想知道是否有关于如何解决特定问题的建议: 该应用程序由多个客户端使用,每个客户端在幕后都有一个非常定制的数据集。客户机之间的数据集几乎没有重叠。但是,它们都加载并使用相同的软件。有许多配置文件告诉软件如何处理该客户机并了解其自定义数据集 本质上,有共同的函数,但这些函数所处理的数据集不同。我正在寻找一种将数据集抽象成ORM的方法。然而,大多数ORM似乎都希望在幕后有一个通用的数据集。我需要根据正在使用的客户机动态加载ORM模块,或者根据相同的客户

我希望升级现有的基于perl web的应用程序,并想知道是否有关于如何解决特定问题的建议:

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

本质上,有共同的函数,但这些函数所处理的数据集不同。我正在寻找一种将数据集抽象成ORM的方法。然而,大多数ORM似乎都希望在幕后有一个通用的数据集。我需要根据正在使用的客户机动态加载ORM模块,或者根据相同的客户机动态创建ORM结构

e、 g。 软件提供查看/编辑/删除功能,但

客户A 管理表格

客户B 管理汽车

View函数加载配置文件,并为每个客户机提供与所管理的数据类型相关的自定义模板文件

有什么建议吗?

请查看(RDBO)

它支持在运行时通过其
Loader
包加载数据库结构。RDBO的作者约翰·西拉库萨(John Siracusa)总是对
irc.perl.org
或邮件列表上的
#RDBO
中的问题做出友好的回答


它也非常快速(一旦加载)和强大。如果您的DB应用程序比任何示例应用程序都复杂,我真的可以推荐它。

很可能您必须将每个数据库动态加载到其自己的类名称空间中,然后作为一个整体管理这些类。例如,DIBx::Class堆栈具有DBIx::Class::Schema::Loader,可用于加载到骨架类中,或从头开始设置类。