问题标签 [class-dbi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
141 浏览

perl - 如何从 CDBI::Search 函数访问特定的返回值?

我正在使用一个DB::CDBI类来访问我们应用程序中的数据库。我们的项目是面向对象的 Perl。

在这样一种情况下,我应该检查表中是否存在一行。我在CDBI调用中使用内置搜索 API 。

$translation_exists_r_not正在根据搜索中给出的输入获得预期值。如果行存在,则_data使用行详细信息进行更新。

如果该行不存在,那么我会得到这样的返回值。

我想根据搜索结果translation从这个 sub返回值。find_translation我无法为此获得最佳状态。

我尝试将其复制_data到一个数组中,但我不确定如何进一步进行。就像_data一个空的arrayref和另一个条件一样,它在arrayref内会有一个hashref。

0 投票
1 回答
261 浏览

perl - Perl 类::dbi - 多个连接

我有一个过去几年开发的类库,它使用 Perl 的 Class::DBI 来包装关系数据库(Prestashop 的 DB 方案,没那么重要)

是否有人知道在单个 perl 脚本中创建此类的多个“实例”,指向不同的数据库?例如,现在我做类似的事情:

这一切都很好。

我想要做的本质上是别名MyClassLib,以便能够使用它的另一个“实例”指向不同的数据库。Class::DBI将其数据库连接存储为静态状态是一件很痛苦的事情。

伪代码中的类似内容

然后从代码访问MyClassLibMyClassLibAlias. 我知道Class::DBI是遗留的,DBIx::Class如果不存在的话,使用的解决方案也将不胜感激Class::DBI

谢谢

0 投票
1 回答
130 浏览

perl - 使用 Class::DBI 对 Perl 进行排序

您有一张名为 Pets 的表格:

在服务器 mydbserver 上的 MySQL 数据库中,用户为“user”,密码为“password”。

请执行下列操作:

Class::DBI1)使用上述凭据 ( DBI.pm )创建与此数据库的连接。

2) 为表 Pets ( Pet.pm ) 创建一个类

3) 创建一个程序,打印 Pets 表中所有人的姓名,以及他/她按姓名和年龄排序的宠物种类(如果有的话)。

这是我写的代码......

0 投票
1 回答
75 浏览

profiling - Class::DBI - 它会加载所有表吗?

我们有一个包含大量表的 MySQL 数据库。不幸的是,在 2018 年,我们仍然使用 Perl CGI。所以脚本的加载时间是必不可少的。

DBIx::Class被我排除了,因为它加载了大约 1.6 秒(这么长,因为它为数据库的所有表加载 Perl 定义)显然太多了。

Class::DBI加载速度有多快?我的主要问题:当我们使用 Perl 时是否会加载有关所有可用表的信息(就像DBIx::Class那样),Class::DBI或者它是否仅为我们实际使用的这些表加载 Perl 定义?


以下是DBIx::Class加载 1.6 秒的代码:

(架构是自动生成的。)

有没有办法让它更快?如何在不加载所有表的情况下使用它?