问题标签 [sequel]

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 投票
3 回答
2306 浏览

ruby - 在一个进程中使用什么 ORM 多个数据库连接 sinatra 应用程序?

检查 ActiveRecord、DataMapper、Sequel:有些使用全局变量(静态变量),有些需要在加载带有模型的源文件之前打开数据库连接。在使用不同数据库的 sinatra 应用程序中使用什么 ORM 更好。

0 投票
2 回答
1878 浏览

ruby - Sequel 是否有 last_insert_id 方法?

插入后,我需要知道行中的 ID,我该怎么做?

0 投票
1 回答
7847 浏览

ruby - 如何断开与数据库的现有 ruby​​ 续集连接?

我的意思是以前建立的那个

或者

或者

或等等。

Sequel::Database 类没有称为“disconnect”的公共实例方法,尽管它有“connect”一个。

也许有人已经面临这个问题。我会很感激任何想法。

0 投票
1 回答
1057 浏览

ruby - ruby 的数据库抽象/适配器

您在 Ruby 中使用的数据库抽象/适配器是什么?我主要对面向数据的特性感兴趣,而不是那些具有对象映射的特性(如活动记录或数据映射器)。

我目前正在使用续集。还有其他选择吗?

我最感兴趣的是:

  • 简单、干净和明确的 API
  • 数据选择(显然)、过滤和聚合
  • 没有字段映射的原始值选择:SELECT col1, col2, col3 => [val1, val2, val3] not hash of { :col1 => val1 ...}
  • 能够传递要选择的列/值列表: select(array_of_columns) (不是:dataset.select(:col1, :col2, :col3) 要求列是已知的)
  • API 以一致(且有效)的方式考虑表模式“some_schema.some_table”;也对此进行反思(从表中获取架构)
  • 数据库反射:获取表列的列表,它们的数据库存储类型,也许还有适配器的抽象类型
  • 表创建、删除
  • 能够在循环中使用其他表(插入、更新)来枚举另一个表的选择,而无需从被枚举的表中获取所有记录

目的是在编写代码时操作具有未知结构的数据,这与通常众所周知的结构或大部分结构的对象映射相反。我不需要对象映射开销。

有哪些选项,包括对象映射库的后端?

0 投票
2 回答
13767 浏览

sql - 如何使用 Sequel 运行原始 SQL 查询

我还不清楚使用 Sequel 运行原始 SQL 查询的正确方法。

目前我正在尝试这个:

我怎样才能将查询作为原始 SQL 运行,然后像平常一样访问结果?

0 投票
1 回答
1465 浏览

ruby - 续集示例不会运行

我刚刚为 Ruby 安装了“sequel”gem。我想尝试 Sequel 网站上的示例,但它不起作用:( test.rb:

安慰:

0 投票
2 回答
760 浏览

ruby - 更复杂的续集选择

Sequel 中有一个简单的数据库:

问题:在数据库中存储“奇怪”对象是否是个好主意,比如 DateTime?

输出 '2010' 所以,很好 - 它有效。但我仍然对此很好奇。如果没什么不好,那过滤呢?像这样的东西:

……行不通。是否有可能以其他方式做到这一点?如何?

0 投票
1 回答
855 浏览

ruby-on-rails - 如何进行 Active Record 到 Sequel 的转换

我正在使用 Rails3.rc 和 Active Record 3(带有 meta_where)并且刚刚开始切换到 Sequel,因为它似乎更快并且提供了一些非常棒的功能。

我已经在使用 active_model 插件(以及其他一些插件)。

  1. 据我所知,我应该使用User[params[:id]]而不是User.find(params[:id]). 但是,如果不存在记录并且不将值转换为整数(PK 类型),则不会引发此问题,因此它是where子句中的字符串。我不确定这是否会导致任何性能问题。这有害identity_map吗?解决这两个问题的最佳方法是什么?

  2. 有没有一种简单的方法来翻转像User.messages_datasetUser.messages这样的关联的使用,这样它的User.messages行为就像在 Active Record ( User.messages_data_set) 中一样。我想我会使用#..._dataset很多但从不需要数组方法,因为我可以添加.all?

  3. 我注意到一些相同的(复杂的)查询有时会在一个操作中执行多次。有没有类似 Active Record 查询缓存的东西?(identity_map似乎不适用于这些情况)。

  4. 有没有to_sql我可以调用来获取数据集会产生的原始 SQL?

0 投票
3 回答
3843 浏览

mysql - Mysql/Ruby Sequel最后插入ID值,用什么方法?

我只想使用 Ruby 的 Sequel 获取 last_insert_id() :

SELECT 查询应该返回 last_id 但 .run 不返回它。我应该改用什么方法?

解决方案:(感谢 Josh Lindsey)

0 投票
2 回答
542 浏览

ruby-on-rails - Sequel::Model 验证是否只是实例方法?

before_validation在现代版本的 ActiveRecord 中,您可以使用简单的声明定义任意数量的处理程序:

使用 Sequel 看起来你可以做到这一点的唯一方法类似于旧的 ActiveRecord 方法:

是否有添加简化声明的插件,或者就是这样?Sequel 文档并没有描绘出非常清晰的画面。没有MyModel.before_validation定义类方法。

更新:正如下面的答案所示,默认情况下不存在此行为。我制作了一个 Sequel::Model 插件来解决这个问题,称为sequel_simple_callbacks