问题标签 [sequel-gem]
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.
ruby - 后续关系和 SQL 函数
我正在使用 Ruby Sequel,我需要找到客户自特定日期以来花费的总金额。此代码有效:
但是,我想知道是否有一种方法可以使用 Customer 和 Purchases 之间的 Model 关系,而不是使用 where 子句来查找 Purchases,以便代码看起来更清晰。
我在想类似的东西,customer.Purchases.where(...).sum(...)
但它不起作用。
知道是否有办法做到这一点?
mysql - 跨多个列的后续唯一验证
我正在尝试使用 Sequel gem 和 MySQL 数据库添加validates_unique验证。
column2
如果 的值与 中的现有值匹配,我希望它验证失败column3
,因此类似于以下(非工作)示例:
这是一个sqlfiddle,我在其中使用此查询来获得所需的结果:
我正在努力将其映射到续集验证。任何指导表示赞赏。
ruby-on-rails - Rails 4.2 Sequel Model - 新的 Form_for 没有按预期工作
我创建了一个新的 Rails 4.2 项目,按照文档设置 Sequel Gem 并运行以下命令来设置项目的第一部分:
根据阅读 Stackoverflow 和一些 Google 链接,我的模型骨架如下所示:
控制器是库存/尚未修改。当我转到http://localhost:3000/authors/时,一切都按预期工作。
但是,当我单击http://localhost:3000/authors/new “新作者”链接时,我收到以下错误:
显然,这是不正常的行为;不应在“新”请求上调用“显示”。
我创建了一个新项目,没有使用sequel-rails gem 和相关配置(使用默认的 ActiveRecord),并且完全相同的代码按预期工作而没有错误。
我花了几个小时进行搜索,但找不到解决方案。我已经擦除了项目并重新启动,并且可以一致地重现所描述的行为。
我知道我可以放弃sequel-gem并回到 AR,但我真的不想这样做。
我很感激在正确的方向上解决这个问题。提前致谢。
ruby - 使用 Sequel gem 的自定义表映射
一直在转动我的轮子。如何使用 sequel gem 指定自定义表映射?
我做了以下
初始化.rb
我的模型.rb
它抱怨构造函数中的“myschema.MyModelTable”。我也试过 set_dataset('myschema.MyModelTable') 没有成功。
文档似乎对如何做到这一点有点不透明
ruby-on-rails - 关注点的后续验证
我有一个这样的续集模型:
在这里我遇到了一个问题:Notificatable
验证方法覆盖了User
模型中的相同方法。所以没有:name
验证。
我该如何解决?谢谢!
ruby - Ruby 的简单本地数据库解决方案?
我正在尝试编写一个简单的 Ruby/Nokogiri 刮板来从多个页面获取事件信息,然后将其输出到附加到每周发送的电子邮件的 CSV 中。
我已经完成了抓取组件和 CSV 组件,并且运行良好。但是,我现在意识到我需要知道何时添加了新事件,这意味着我需要某种数据库。理想情况下,我只会将其存储在本地。
我已经尝试过使用 ruby gem 'sequel',但数据似乎并没有在程序运行之后持续存在。我是否需要下载一些数据库软件才能使用“续集”?另外我没有使用 Rails 框架,只是使用 Ruby。
任何和所有的指导都深表感谢!
ruby - 如何从 Sequel 迁移生成 SQL 语句
我想将生成的 SQL 语句从 Sequel 迁移输出到文件,而无需连接到实际数据库。我需要这个,因为我想以 MySQL 形式导出语句,但我通常使用 PostgreSQL。
我可以在创建数据库时尝试使用该选项设置 MySQL 和输出-E
,但这不应该是正确的工作方式吗?
我需要的是这样的:
有没有办法做到这一点?
根据答案进行试验
我尝试了命令提出的Jeremy Evans的答案:
sequel -m db/migrations/ -t -E mock://mysql
错误如下输出:
不幸的是,它似乎试图从模拟数据库中访问一些东西。
更新
有了 Jeremy 的回答,我有一些东西可以使用,我想出了以下 hacky 解决方法,它至少会生成大部分语句,但不是全部 :( :
- 问题
sequel -m db/migrations/ -t -E mock://mysql > mysql-statements.sql
- 如果你得到一个例外,请在后续代码中注释掉 raise 语句
- 在 处,您将获得带有正确 sql 语句的输出,但带有额外的日志记录信息
- 通过使用一些替换工具或更容易使用 sublime 或 atom 等多光标编辑器删除这些额外信息
- 将分号放在行尾
- 现在你有正确的 mysql 语句
- 不要忘记恢复对 sequel-gem-code 的修改;)
ruby - Sequel 上带有 database_cleaner 的 Rspec 导致外键截断错误
我正在以下 Sequel 模型上使用 DatabaseCleaner 运行 RSpec 测试
当我运行测试时,我收到以下错误:
我的 DatabaseCleaner 设置是:
DatabaseCleaner 应该在截断之前取消设置外键约束,就像使用 ActiveRecord 一样,它工作正常。
我的问题是:这是 DatabaseCleaner-Sequel 错误还是与我使用 Sequel many_through_many 插件有关?
ruby - Ruby Sequel 迁移正在运行,但无法添加列
我正在为我的数据库(基本版)使用 Heroku Postgres 插件。Ruby Sequel 是我用于模式管理的 ORM。
最近,一些迁移没有更新数据库模式。
我运行迁移 19, 019_add_last_unique_story_to_user.rb:
这会将 DB[:schema_info] 从版本 18 更新到 19,但不会将任何列添加到 :state_table 表中。生产数据库和本地数据库都存在此问题。我已尝试多次迁移并检查数据库 url 是否正确。
我的快速修复:我将上述代码复制并粘贴到第 20次迁移 020_test.rb 中,然后运行我的 rake 迁移任务rake db:migrate:up
。这成功地更新了数据库。
有谁知道这里会发生什么?为什么有些迁移运行成功,更新了迁移版本,却没有更新任何列?这可能是命名问题、缓存问题还是 Heroku 问题?谢谢你的帮助!