问题标签 [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 回答
3340 浏览

sql - 在涉及内部联接和 where/filter 的 SQL 和 Sequel 中需要帮助

需要帮助转移sql到sequel:
SQL:

我被困在续集里,我不知道如何过滤,到目前为止是这样的:

用比上面更好的成语回答也是值得赞赏的。Tnx。

更新:
我必须进行一些修改才能使其正常工作

没有过滤器,

顺便说一句,我使用 pgsql 9.0

0 投票
1 回答
1530 浏览

ruby-on-rails - heroku db:push error uninitialized constant Sequel::Postgres::PGError

I have a problem running the heroku db:pull and db:push commands. My app is running Rails 3 on the bamboo-ree-1.8.7 stack. I am new to Sequel and am not sure what the script is complaining about.

$heroku db:push
Loaded Taps v0.3.14
Auto-detected local database: postgres://xxx@127.0.0.1/xxx_development?encoding=utf8
Warning: Data in the app 'profreelas' will be overwritten and will not be recoverable.
Failed to connect to database: NameError -> uninitialized constant Sequel::Postgres::PGError

Additional info:
My taps, sequel, and heroku gems are up to date
I am running the pg db adapter gem
Running postgresql in my local machine

0 投票
2 回答
1697 浏览

ruby - 在 sequel/ruby 中难以捕获 postgresql 异常

我有具有某种唯一约束的 postgresql 表。

我有将更新此表的 ruby​​ 脚本。当发生这种错误时,ruby 脚本应该能够切换到 UPDATE 而不是 INSERT:
PGError: ERROR: duplicate key value violates unique constraint

CMIIW,续集似乎无法捕捉到这个异常??

无论如何,下面的示例代码是我希望看到的,但显然不是:

也许我的 ruby​​ 代码是错误的,或者我错过了一些我不知道的东西。
有什么解决办法吗?
谢谢。

更新: 下面的代码有效,当违反唯一约束时会捕获错误。

0 投票
1 回答
3690 浏览

ruby - 通过 Sinatra 在 Sequel 中创建新记录

我有以下模型:

我的完整代码看起来像

我想错了吗?如何正确地做到这一点?你能给我一些工作的例子吗?如何处理要发布的 JSON 数据?

谢谢!

0 投票
1 回答
363 浏览

ruby - 在heroku中运行的续集迁移产生postgres类型错误

出于某种原因,当我在 Heroku Sequel 中运行迁移时,尝试创建一行string而不是varchar

有人有修复吗?

0 投票
2 回答
1678 浏览

ruby - 为什么使用 SQL 构建器?Arel 诉 Sequel 诉 T-SQL

我试图了解通过面向对象的构建器 DSL 构建 SQL 与参数化原始 SQL 字符串的好处。在以三种方式研究/实现相同的查询之后,我注意到原始 SQL 是迄今为止最容易阅读的。这就引出了一个问题,“为什么要跳过篮筐?” 为什么不直接声明和使用原始 SQL?

这是我想出的:

首先,我猜它使 SQL 更便携,因为它可以被任何带有适配器的数据库使用。我想这是大佬吧?不过,大多数数据库不是可以理解大多数 T-SQL 吗?

其次,它提供了一个可以重用的查询对象——作为其他查询、命名范围链接等的基础。

通过构建 SQL 而不是声明它,您实现的主要投资回报是什么?

我非常欣赏命名范围,并了解将它们链接起来是如何有益的。我不担心通过模型访问相关记录。我纯粹是在谈论构建一个复杂的查询。

0 投票
1 回答
1134 浏览

ruby - Ruby on Rails 3,续集,利用现有数据库

如何使用 Rails 3 从与 Rails 3 标准模式不匹配的现有数据库中的表中读取数据?

有人告诉我,Sequel gem 是一个不错的起点,但除此之外我没有太多东西。

规格:

  • 它是一个 Oracle 数据库。我已经建立了连接,并确认迁移和回滚工作正常。
  • 我已经为所需的表和相关列生成了脚手架。
  • 我正在寻找一种方法来指定和映射相关的表和列。
  • 这可以在没有续集的情况下完成吗?
0 投票
5 回答
7642 浏览

ruby - 为特定值切片参数哈希

概括

给定一个哈希,根据要使用的键列表创建子集哈希的最有效方法是什么?

细节

Sequel数据库工具包允许通过传入 Hash 来创建或更新模型实例:

Sinatra Web 框架提供了一个名为 Hash 的名称,params其中包括表单变量、查询字符串参数以及路由匹配。

如果我创建一个仅包含与数据库列名称相同的字段并将其发布到此路由的表单,那么一切都非常方便:

然而,这既脆弱又危险。这很危险,因为恶意黑客可能会发布一个包含不打算更改的列的表单并让它们更新。它很脆弱,因为在这条路线上使用相同的表格是行不通的:

因此,为了稳健性和安全性,我希望能够编写以下代码:

...而不是更冗长和非 DRY 选项:

更新:基准

以下是对(当前)实现进行基准测试的结果:

@sawa 的第二个答案是最快的,在我tap的基于实现的前面有一根头发(基于他的第一个答案)。选择添加检查只需要has_key?很少的时间,而且速度仍然是 ActiveSupport 的两倍多。

这是基准代码:

0 投票
2 回答
2261 浏览

ruby - Rails 3 与 Sequel 集成?

github 上似乎至少有四个 repos声称将 Sequel 与最新的 Rails 3 beta 相关联。

有没有人在 Rails 3 项目中成功地将 ActiveRecord 替换为 Sequel?你能提供一些关于如何最好地去做的提示吗?

我有兴趣在 Rails 3 上开始一个新项目,并试图从正确的角度出发:理想情况下是续集、minitest 和omniauth(如果它不会很痛苦,可以设计)。我知道这不是祝福的堆栈,但这些宝石吸引了我的蜘蛛侠感。我正在寻找任何可以帮助我解决任何宝石问题和冲突的建议。

0 投票
5 回答
6039 浏览

ruby - 如何在 Sequel ORM 中将行作为数组(而不是哈希)获取?

在 Ruby 的Sequel ORM 中,Dataset该类有一个all生成行哈希数组的方法:每一行都是一个以列名作为键的哈希。

例如,给定一个表 T:

然后:

应该产生:

是否有一种内置于 Sequel 的方法来生成一个行数组数组,其中每一行都是一个数组,其中每一行中的值按照查询中指定的顺序排列select_rowsActiveRecord中的工作原理是怎样的?像这样的东西:

这将产生:

注:表达式:

生成一个数组数组,但不保证行中值的顺序与原始查询中请求的顺序相匹配。在此示例中,aa可能如下所示: