问题标签 [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.

0 投票
1 回答
979 浏览

ruby-on-rails - 如何防止在夹具加载期间更改表/触发器启用

我正在编写一个从另一个(遗留,因为它没有任何单元测试......)系统表读取数据的 Rails 应用程序。它对这些表没有任何权限(最终,它将包含并扩展......)

我共享同一个数据库(postgresql),两个应用程序有不同的数据库用户。当我加载我的初始固定装置时,我收到了投诉,因为 rails 试图更改所有表以启用触发器。我可以关掉这个吗?

PGError:错误:必须是关系 auth_message 的所有者:ALTER TABLE "auth_message" ENABLE TRIGGER ALL;ALTER TABLE "django_session" ENABLE TRIGGER ALL;ALTER TABLE "django_site" ENABLE TRIGGER ALL;ALTER TABLE "django_admin_log" ENABLE TRIGGER ALL;ALTER TABLE" django_content_type"...

0 投票
2 回答
595 浏览

ruby - “has_many”关联中第一行的 SQL 语句

我试图只访问关联表的第一行。最好和最快的方法是什么?(理想情况下是一条 SQL 语句)

协会:

我能想到的最快方法是:

但是这个操作对我的要求来说太慢了(想象一下我200 Users的平均20 Adresses~4000 Adresses整体))

这只是我正在尝试做的一个例子。

我认为这可以通过 SQL JOIN 语句来表达,但我没有看到如何接收每个用户第一个地址的表。

预期输出示例:

0 投票
2 回答
333 浏览

ruby-on-rails - Rails 3.1.0.rc4 + Postgres - 重启后无法读取或写入数据库

我刚刚开始使用最新版本的 Rails 和 PostgreSQL 编写应用程序。我创建了数据库,添加了所需的 gem,配置了 database.yml 文件并从两个模型开始 - 用户(这个使用 Devise 进行身份验证)和组。我为起始页创建了一个额外的控制器(简单的一个 - 仅用于显示链接列表)。一切似乎都很好,我能够将测试数据添加到数据库中——直到今天早上我回来并想继续工作。

只要我停留在主页上,一切都像昨天一样。但是当我尝试访问组列表时,出现以下错误:

页面上没有其他信息,所以我查看了 Webrick 控制台并看到以下内容:

像往常一样,我的控制器的第一行是:

我查看了其他操作,结果是一样的:意外的 nil 对象。尝试对用户执行任何操作时发生同样的问题。

我怀疑这是一个数据库问题(因为它根本不影响没有使用数据库的控制器),所以我去 rails 控制台看看我是否可以手动添加条目。我不能。

我查看了最顶层的文件(persistence.rb)并搜索了第 320 行。

这个定义让我对可能发生的事情有了一点了解,所以我在控制台(Group.inspect)中又运行了一个命令,但在以下行出现错误:

似乎我无法访问表的列,但我不知道为什么。我以相同的用户身份登录,在同一台机器上,使用相同的操作系统和内核。出于好奇,我创建了另一个应用程序,但它在重新启动后也不起作用。

我现在花了四个小时寻找答案,但我找不到任何相关的东西。什么可能导致此问题以及如何解决?

0 投票
3 回答
2087 浏览

sql - 如何从 PostgreSQL 数据库中选择数据,但如果某一天没有数据,则返回 0?

我有以下查询:

效果很好。挑战在于,如果给定日期没有消息,那么它不会返回该日期的记录。如果在给定日期和今天之间的所有日子里没有消息,您如何使上述查询返回日期和 0 ?

在 PostgreSQL 8.3 中工作。

谢谢!

0 投票
3 回答
974 浏览

postgresql - PostgreSQL DISTINCT 问题:在本地工作,但不在服务器上

我在 PostgreSQL 查询中遇到了一个棘手的问题。这适用于我的本地开发环境:

...但在我的 QA 服务器(在 Heroku 上)上出现以下错误:

为什么会这样?

其他可能相关的信息:

我试过单引号和双引号字段名称

这是一个 Rails 3 应用程序,但我使用的是原始 SQL,即没有 ActiveRecord 魔法

我在 Mac 上的本地 Postgres 版本是 9.0.4,但我不知道 Heroku 使用的是什么版本

0 投票
2 回答
353 浏览

sql - 如何查找具有多个标签的帖子

我在带有 postgresql 的 Rails 上有一个非常简单的标签模型:

有没有一种简单的方法可以找到所有具有 2 个以上指定标签的帖子?例如,假设有“style”、“men”、“women”、“sale”标签。我想创建一个接受标签数组的通用 find 语句。因此,如果输入是 ["style"] 那么它应该返回所有带有该标签的帖子(简单)或者如果输入是 ["style", "men"] 那么它应该返回所有带有标签 "style" AND "的帖子男人”。

0 投票
1 回答
488 浏览

ruby-on-rails-3 - 为什么这个规格/控制器测试不能通过?它以前做过......(Rails,RSpec)

以下是我的规范/控制器/超级管理员/users_controller_spec.rb:

以下在我的 app/controllers/superadmin/users_controller.rb 中:

如果我没记错的话,这个测试过去是通过的。自从我将 PostgreSQL 设置为测试和开发环境的数据库以来,这个测试一直失败......不知道为什么。

错误信息:

协助表示赞赏!

0 投票
2 回答
389 浏览

postgresql - 如何提高postgresql的插入速度

我使用了 postgresql,它从各种表中选择 30000 行,从各种表中选择数据需要不到一秒钟的时间。但是在选择需要越来越多时间插入另一个表的数据之后。如何减少插入时间。这是我的查询。在这个选择查询中给出了近 3000 万条记录。

0 投票
1 回答
3008 浏览

ruby-on-rails - postgres/postgreSQL 致命:数据库“ew_dev”不存在

我正在尝试在 mac os x 10.6.4 上启动并运行 echowaves,并且我成功遵循了此处的所有说明https://github.com/echowaves/echowaves但是当我运行 rails s 时出现以下错误FATAL: database "ew_dev" does not exist我需要吗创建数据库?如果是这样,怎么做?

谢谢

0 投票
1 回答
211 浏览

ruby - 为什么 PostgreSQL 回滚我的 INSERT 语句?

我有一个模型来存放东西。当布尔属性 (action_type) 的值为 false 时,PostgreSQL 出于某种原因回滚 INSERT 查询。

我的视图文件如下所示: