问题标签 [rails-postgresql]
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-on-rails - Rails 3.1.0:不兼容的字符编码:ASCII-8BIT 和 UTF-8
我将 Rails 3.1.0 和 Ruby 1.9.2 与 PostgreSQL 一起使用。我想从大文件(~300mb)中获取数据并将其放入数据库。在这里我使用交易:
但我想通过原始 SQL 使用批量插入来提高性能:
但我有这个错误“不兼容的字符编码:ASCII-8BIT 和 UTF-8”。当我使用 activerecord 时,一切正常。文件包含诸如德语变音符号之类的字符。我从这里尝试了所有 Rails 3 - (incompatible character encodings: UTF-8 and ASCII-8BIT):,但这对我没有帮助。
你知道它是从哪里来的吗?
谢谢,
arrays - 如何将两个数组相交的结果从SQL查询转换为整数数组到postgresql中的整数数组
查询一:
产生这个结果:
查询 2:
产生不同的结果:
为什么有区别?
有没有其他方法可以将空整数数组与第二个查询中的两个数组相交的结果进行比较?
mysql - 如何获得一组记录的总和?
我对rails和sql都比较陌生。我在生产中使用 postgres。
我有一个Like
模型,通过多态性,它具有属性likeable_type
,likeable_id
这就是我的Photo
模型中的项目如何被用户“喜欢”的方式。我也可以通过类似的对象访问照片,就像like.likeable
当喜欢的对象具有Photo
aslikeable_type
和照片的 id 一样时likeable_id
。
我的问题:我希望能够获得过去 24 小时内最喜欢的照片列表,最喜欢的一张在顶部,最不喜欢的一张在底部。我该怎么做呢?
到目前为止,我知道我的代码应该类似于
但我不太能弄清楚正确的语法应该是什么。
任何帮助将不胜感激!
ruby-on-rails - 在 Postgres 上使用 Rails 的日期时间字段
我正在使用 Rails 使用 Postgres 制作调度应用程序。我有一个带有两个时间日期列 start_at 和 end_at 的模型 Shift。创建它的迁移如下:
当我尝试创建记录时,我收到以下错误 500 输出:
我在数据库保存之前创建了一个有效的 DateTime 对象,因为我已经使用记录器来显示它并且它是正确的。参数如下所示:
但是,我可以通过将两个字段都设置为 Time.now 来通过控制台创建记录。
sql - 对于 Rails 3 应用程序,如何将这两个 PostgreSQL 语句合并为一个?
我有两个 PostgreSQL 语句,我想在我的 RoR 应用程序中组合它们。
第一个 SQL 语句返回一个链接,该链接包含两个特定的 tag_id。
RoR ActiveRecord 版本:
第二条 SQL 语句返回特定 tag_id 得分最高的链接。
该表的构造如下:
第一个 SQL 语句将返回link_ids
1, 2 and 4
,第二个 SQL 语句将返回link_ids
1, 2 and 3
。
如何将两条 SQL 语句合二为一,以便获得包含多个选定标签的特定标签的最高分?
组合语句应返回link_ids
1 and 2
.
DDL 和 INSERT 命令可以在这里找到:http ://sqlize.com/480glD5Is4
如果这可以用 RoR ActiveRecord 样式或更优化的 SQL 语句编写,那就太好了。
非常感谢。
postgresql - Factory_girl_rails 和 postgres 日期格式?
如何格式化日期以将其放入 factory_girl_rails 工厂,例如:
如果重要的话,我正在使用 postgresql 和 factory_girl_rails 1.0。我得到的错误是ActiveRecord::StatementInvalid: PGError: ERROR: invalid input syntax for type date: "1982"
Rails 版本是 3.1
ruby-on-rails - 如何有效地搜索匹配 Rails 和 PostgreSQL 中条件的最后一条记录?
假设您要查找与字符串匹配的最后一条输入数据库的记录(最高 ID)Model.where(:name => 'Joe')
: 。有 100,000 多条记录。有很多匹配项(比如数千个)。
最有效的方法是什么?PostgreSQL 需要查找所有记录,还是只查找最后一条?这是一个特别慢的查询吗?
在 Rails 3.0.7、Ruby 1.9.2 和 PostgreSQL 8.3 中工作。
postgresql - 按语句索引动态订单
我有一个我在 PostgreSQL 中运行的 SQL 查询,看起来像这样:(ActiveRecord 生成的很抱歉,如果它没有尽可能优化)
是否可以通过 PostgreSQL 中的 case 语句对该顺序进行索引?如果没有,有没有其他方法可以加快这个查询?感谢您的任何帮助,您可以提供!
mysql - Rails 3:PostgreSQL 会比 MySQL 更适合分区表吗?
在按日期对表进行分区时,Postgres 是否比 MySQL 更好?
Postgres 在 Rails 上的表现如何以及在分区表方面表现如何?
我的应用程序的目的是以与 Google Analytics 类似的方式提供指标。数据不是实时收集的,因此不强调快速插入,但将有数百万行,其中最近的数据被最频繁地访问。
一些额外的关键点..
- 数据库复制和备份不如易于开发和应用程序的速度重要。
- 可以随意插入新数据。该数据库将主要用于选择查询。
- 服务器将是一个运行 Rails 3.1 和 Ruby 1.9.3 的 Debian 6 机器
ruby-on-rails - Rails 3 - 将 PostgreSQL 数据库转储到 schema.rb 对数字类型的精度不正确
我有一个现有的 postgresql 数据库,我想在新的 rails 应用程序中使用它,所以我首先想将现有模式转储到 schema.rb 中rake db:schema:dump
。但是,当我这样做时,schema.rb 对数字列有一个奇怪的精度值。
在我的 PostgreSQL 数据库中,数字类型列没有明确的精度或比例集。
为什么精度显示出如此巨大的价值是有原因的?
我也尝试过更改和删除 schema.rb 中的精度修饰符,但每次我进行迁移时,它都会使用这些巨大的值重新生成 schema.rb 文件。我查看了ActiveRecord 表定义,但这不是很有帮助。