问题标签 [rose-db-object]

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 回答
393 浏览

perl - DBIx Class Row 虚拟/非持久列

是否可以将列添加到虚拟的 DBIx::Class::Row 对象,因为它们没有保存到数据库中?我正在寻找像 Rose::DB::Object 通过其非持久列 http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Metadata.pm# nonpersistent_columns

0 投票
1 回答
373 浏览

perl - 珀尔 | 哈希中的受祝福对象 | 玫瑰::DB::对象

我试图弄清楚为什么我无法访问元素内部的祝福引用:

这是我的模块:

这是我要测试的子:

如果我使用 $_->alias 我得到以下返回:

如果我使用 $_->alias->alias,我会收到一个错误:

我有点困惑,因为 Dumper 输出显示 Alias 的值是有福的,这似乎与错误消息相矛盾。

0 投票
0 回答
51 浏览

perl - RoseDB 尝试运行 .pl 脚本时出错

当我尝试运行这个 .pl 脚本时:

我得到的错误是:

无法通过包“abc::abcBill::Manager”定位对象方法“update_abcBill”

我已经检查了我 的 .pl 脚本abcBill::Manager,我在那里有一个make_manager方法,但它不会编译 .pl 脚本。

0 投票
2 回答
50 浏览

perl - 如何在 get Manager 调用中为查询传递变量?

我正在尝试进行简单的 Rose DB 调用: $id = xyz; $name = "公司";

可能不会每次都编写整个查询,并将其声明为字符串变量,这样我就可以调用

其中 $query = qq { id => $id , name => $name };

请帮忙

0 投票
1 回答
186 浏览

perl - 如何将字符串变量作为“查询”传递给 get Manager 调用?

我正在尝试打这个简单的电话:

效果很好。但是是否可以为查询传递一个变量。就像是:

或类似的东西。

0 投票
1 回答
318 浏览

perl - Perl 和 Rose::DB Postgres 事务

我整天都在为这个问题苦苦挣扎。在我松开所有头发之前,我想我会在这里问。

描述

我将 Perl 5.10.1 与 Rose::DB 和 PostgreSQL 8.4(在 Debian Linux 上)一起使用。

我需要对我的“trans”对象进行一些更改,使其位于单个事务块中(即更改全部写入或回滚)。但是,我就是无法让它工作。

我已经在 AutoCommit ON 和 OFF 的情况下进行了尝试。

在下面的示例代码中,$db 是在脚本开始时建立的 Rose::DB 连接(使用:my $db = My::DB->new;)。所有 Rose::DB 对象都继承自一个基类 (My::Base)。这个基类有一个用于 DB 连接的可继承子类:

DB 连接对象 (My::DB) 包含连接字符串和设置:

场景 1:自动提交关闭

自动提交 0 和 RaiseError 1

回滚案例:​​有效(没有更改写入数据库)

提交案例:失败(没有更改写入数据库)

场景 2:自动提交开启

自动提交 1 和 RaiseError 1

回滚案例:​​失败(写入数据库的更改)

提交案例:有效(写入数据库的更改)

您可以提供的任何帮助或建议将不胜感激。

提前致谢。

0 投票
1 回答
189 浏览

perl - Perl Rose::DB 非静态数据源注册

我正在编写一个使用 Rose::DB 进行持久性抽象的 perl 应用程序,但是在使用配置文件中的值初始化我的 Rose::DB 子类时遇到了问题。

该文档始终提供硬编码示例,例如:

但是,为了可维护性,我想在运行时从单独的配置文件中填写这些值。

正在使用的配置文件(Config::General 格式)部分:

我的 Rose::DB 子类,带有初始化方法:

然后在我的主脚本上,我调用该方法一次以注册所有数据源:

我的持久对象都继承自 PersistentObject 包,该包使用以下命令初始化 DB 对象:

但是,这并不像我预期的那样工作。我收到一个编译时错误,说明:

问题似乎在于 Rose::DB 期望在编译时拥有完整的配置数据,这是不可能提供的,因为它来自配置文件。

我在这里错过了什么吗?不能动态初始化 Rose::DB 对象吗?

0 投票
1 回答
65 浏览

rose-db-object - 为什么 $my_item->save 使用 Rose::DB::Object 失败?

我正在尝试将数据简单地添加到数据库表(PostgreSQL)中。起初,我什至无法得到一个简单的

去工作。我发现我在代码中拼写的字段与我在“模型”代码中的拼写不同。

但是,现在,这是可行的,但是当我尝试时:

似乎抛出了异常。所有这一切都发生在 eval {...} 结构中,我想捕捉异常并看看出了什么问题,但我不知道该怎么做。

为什么像“保存”这样的东西会在这里失败?我检查了一切,一切似乎都正确(当然!)。

而且,我如何捕捉似乎被抛出的异常?

谢谢!

0 投票
1 回答
141 浏览

postgresql - Rose::DB 似乎无法识别 Postgres 序列

我的代码很简单:

代码运行时,我收到错误消息“错误:“id”列中的空值违反非空约束”。错误消息还表明错误所在的行是“$item->save;” 线。

我尝试写入的 PostgreSQL 数据库表除了 field1、field2 和 field3 之外还有一个 id 字段。id 字段定义为:

这反映在我为此表为 Rose::DB 定义的类的代码中。对于此表的 id 字段,我有代码:

这里到底有什么问题?

奇怪的是,这一切都在今天早上起作用。我更改了根本不应该影响的东西,它刚刚停止工作。我整天都在拉头发。我似乎很清楚 Rose::DB 应该让 PostgreSQL 从序列中创建 id。但是,它似乎没有这样做。我使用这种直接的方式来更新与此特定表完全相同的其他表(已进行必要修改),并且它适用于这些其他表。但是,在这里它根本不起作用。

有人对此有任何想法吗?在网上看,我看到其他人似乎遇到了相关的问题,但我在网上其他地方的帖子中找不到任何补救措施。

有人吗?

0 投票
1 回答
89 浏览

case-insensitive - 如何使用 Rose::DB::Object 进行不区分大小写的搜索?

如何使用 进行不区分大小写的搜索Rose::DB::Object

这是Rose::DB::Object搜索的形式:

有什么我可以添加到“查询”参数中的吗?但是,我在此处(在Rose::DB::Object::QueryBuilder文档中)没有看到任何解决此问题的内容。

我错过了什么?我缺少的记录在哪里?

谢谢!