问题标签 [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.
perl - 我可以从 Rose::DB::Object 元数据创建一个表(如果不存在)吗?
我在CPAN 文档中找不到它——有没有办法IF NOT EXISTS
从手动输入的Rose::DB::Object
元数据创建一个表()?
我使用 SQLite 作为引擎,如果它碰巧很重要。谢谢!
perl - 为什么 Rose::DB::Object sort_by RAND() 没有做我期望的事情?
我无法让它工作。我正在使用这个查询:
当我在 Rose::DB::Object::Manager 中打开调试时,我看到 order 子句是:
那是t1.id
从哪里来的?知道如何纠正ORDER BY
它RAND()
吗?
perl - 如何使用 RDBO 在模板工具包中强制列表上下文?
我有一个 TT 插件,它可以处理微不足道的唯一 ID:
模板调用很简单:
并且“数据”是一个 RDB 对象,用户是它的关系之一。我已经验证“.users”直接在 Perl 中返回一个列表,无论关系有一个还是多个元素。
但是,似乎 TT 返回单个元素列表的元素,而正确返回多个元素的列表。
我查了一下,发现你可以用“.list”强制列表上下文:
正如 Data::Dumper 所揭示的,这不适用于单元素列表:
而不是预期的
在 TT 中是否有任何其他简单的方法来获取对象列表,即使是在单元素列表上?(一种方法是重写函数,但最好不要重写)
mysql - 使用 Rose::DB::Object 和 MySQL 设置 NULL 日期时间
我在这里可能是错的,但看起来这里有相互冲突的标准。
MySQL 将“0000-00-00 00:00:00”的存储日期时间视为等同于 NULL。(更新 - 似乎只有当日期时间被定义为 NOT NULL 时)
但是 Rose::DB::Object 对 MySQL DATETIME 字段使用 DateTime,并且尝试从“0000-00-00”设置空 DATETIME 会在 DateTime 模块中引发异常。即,我无法创建具有年 0、月 0、日 0 的 DateTime 对象,因为这会在 DateTime 模块中引发异常。
我签入了 Rose::DB::Object::Metadata::Column::Datetime,并且在创建条目或检索时看不到显式处理 NULL DateTime 的方法。
我错过了什么吗?
即,即使 DateTime(Perl 模块)不能,Rose::DB::Object 也可以处理 NULL 日期时间(MySQL)字段。
示例代码:
RoseDB::dt_test 模块为:
当我运行它时,我收到错误“Invalid datetime: '0000-00-00' at tmp.pl line 8”
当我将日期更改为“2010-01-01”时,它按预期工作:
我终于设法重新创建了 NULL MySQL 查询示例!
看起来像用“NOT NULL”定义日期时间然后尝试使用 MySQL“fake null”的表定义是问题所在。我现在玩这个太累了,但我会在早上更改表结构时看看会发生什么。
perl - Rose::DB::Object::Cached 内存是否通过不同的进程缓存?
RDBOC 对象是否通过不同的进程缓存?我想在 mod-perl 中运行它,它会影响一些事情,即使它主要用于不会改变(很多)的事情。
此外,引用 RDBOC 的关系是否应该直观地使用缓存?
perl - 使用 Rose::DB::Object 在 SQLite 中处理 UTF8 编码的文本
我正在使用Rose::DB::Object、SQLite和中文文本。我的课程如下所示:
用于存储记录的代码:
用于显示数据的代码(来自 Mojolicious 应用程序):
如何消除解码步骤?我希望显示代码看起来像这样:
perl - Rose::DB::Object::Manager 和 HTML 模板
我正在使用Rose::DB::Object::Manager
(获取/迭代方法)从数据库中获取数据并HTML::Template
进行报告。
HTML 报告需要TMPL_LOOP
在数据库中显示条目。
我的问题是如何使用 RDBOM 的 get/iterate 方法创建数组引用并将其传递给HTML::Template
. 谢谢你。
perl - Rose::DB::Object::Manager 查询带有对象 ID 列表
我正在尝试使用 Array 或 Hash 编写 Rose::DB::Object 查询字符串,但是我不确定该怎么做。我正在尝试根据数组中枚举的列表中的某些 ID 编写更新函数。不幸的是,我没有任何其他唯一键来过滤以构建查询,所以我需要查询特定的 ID。
本质上,我正在尝试以编程方式编写以下内容:
这是我到目前为止的代码,但我无法成功实现我想要做的事情:
./test.pl
现在脚本只是无限期地挂起,没有输出。
我试图避免遍历 DB::Manager 并在每条记录的基础上进行 DB 调用,因为此脚本将每 60 秒通过 cron 运行一次,并且有可能返回大集合。