标签: hstore

在Rails 4中将hstore列与simple_form集成

是否有整合的好方法hstoresimple_form

我只是找不到实现这个目标的方法.我有一个调用的列widget_locations,我想将:left_area1, :mid_area1, :left_area2, :mid_area2, :right_area2键和值存储为嵌套的哈希,所以它们如下所示:

{:left_area1 => {:video_id => 1, :presentation_id => 3}, :mid_area1 => {:chat_id => 1, :presentation_id => 5}, :left_area2, :mid_area2, :right_area2}
Run Code Online (Sandbox Code Playgroud)

有没有一种在simple_form中实现这一目标的最佳方法?

ruby ruby-on-rails simple-form hstore ruby-on-rails-4

7
推荐指数
1
解决办法
2389
查看次数

SQL Server相当于hstore?

在SQL Server中是否有相当于Postgresql的hstore?我正在使用Web应用程序运行SQL Server 2008,该应用程序对数据库上的稀疏键/值配对的需求越来越大.在我们的情况下,每次发生这种情况时都不可能创建新列.目前,我们使用标准列并将所有这些"无模式"稀疏数据抛出到单个列中,然后在应用程序中运行检查以获取所需的密钥.这不是很干净/优雅.

我刚刚开始研究另一个使用Postgresql的项目,并使用hstore来解决一个非常类似的问题.对于我们遇到的问题,hstore是一个更清晰的解决方案,所以现在我想知道SQL Server 2008中是否有相同的功能?

sql-server postgresql hstore

7
推荐指数
1
解决办法
1919
查看次数

获取空hstore的记录

我正在使用带有hstore扩展的PostgreSQL数据库,我正在努力使最简单的事情成为可能 - 获取所有记录,哪一vd_data (hstore)列是空的({}).

这听起来很容易,但我不能自己做,也没有在互联网上找到任何关于它的东西.我在我的rails应用程序中使用它,所以我将使用activerecord DSL发布一些示例:

Video.where('vd_data != NULL')
# => [] (empty result. I have about 20 videos with vd_data populated in my db)

Video.where('vd_data != {}')
# => Syntax error

Video.where('vd_data != ""')
# => ERROR:  zero-length delimited identifier at or near """"
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我这样的查询应该在纯SQL中看起来如何?

postgresql activerecord pg hstore

7
推荐指数
1
解决办法
2296
查看次数

有没有办法用Hibernate/JPQL查询PostgreSQL hstore?

假设我有一个Hibernate/JPA实体,如下所示:

@Entity
public class FooEntity {

  ...

  @Type(type = "hstore")
  HashMap<String, String> tags;
}
Run Code Online (Sandbox Code Playgroud)

...而hstoreType是资源的简单UserType实现.

有没有办法在类似于这个Pseudocode的JPQL查询中访问hstore:

SELECT f FROM FooEntity f WHERE f.tags CONTAINS KEY(:key)
Run Code Online (Sandbox Code Playgroud)

java postgresql hibernate jpa hstore

7
推荐指数
1
解决办法
2883
查看次数

postgres:如何将 hstore 转换为 JSON 数据类型

我正在尝试编写一个迁移以将现有 hstore 列转换为 JSON(不是 JSONB)。

我尝试了不同的解决方案json USING cast(hstore_column as json),在 github 上找到了一些功能,但没有真正解决问题。

主要问题是没有直接转换,其次是即使我将列转换为文本作为中间步骤,我也需要将默认列值更改为 json。

有人已经这样做了吗?

postgresql json hstore

7
推荐指数
1
解决办法
4677
查看次数

使用postgres使用hstore的Rails测试数据库出错

在Rails 3.2应用程序中使用Postgresql 9.2中的hstore时,我在调试测试数据库时遇到如下错误:

PG ::错误:错误:类型"hstore"不存在

由于它是从schema构建的,因此测试数据库没有经过开发数据库的hstore CREATE EXTENSION迁移.这导致了rake db:test:prepare上的错误.

如何解决这个问题?我实际上发现了一个修复,很高兴听到更多.

postgresql ruby-on-rails hstore

6
推荐指数
1
解决办法
3309
查看次数

使用 SQLAlchemy ORM (0.8) 搜索 HSTORE 列的正确语法是什么?

我正在使用带有flask-sqlachemy 扩展的flask。

正在尝试搜索具有特定值的 hstore 键的所有记录。

以下是该列的设置:

from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.dialects.postgresql import HSTORE
from sqlalchemy.ext.mutable import MutableDict

db = SQLAlchemy()

class BookDB(db.Model):

    attributes = db.Column(MutableDict.as_mutable(HSTORE), nullable=False, default={ 'disabled' : '0'}, index=True)
Run Code Online (Sandbox Code Playgroud)

这是我正在运行的查询:

results = BookDB.query.filter_by(attributes={ 'disabled' : '0' }).all()
Run Code Online (Sandbox Code Playgroud)

这没有错误,但没有发现任何结果。

如果我做:

results = BookDB.query.filter_by(attributes['disabled']='0').all()
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:“语法错误:关键字不能是表达式”

如果我使用 filter() 而不是 filter_by(),我可以做到

results = BookDB.query.filter(BookDB.attributes['disabled']=='0').all()
Run Code Online (Sandbox Code Playgroud)

这工作正常并产生正确的结果。

但是它与 filter_by() 一起使用的语法是什么?

python sqlalchemy flask flask-sqlalchemy hstore

6
推荐指数
1
解决办法
2054
查看次数

在视图中使用hstore比较转储和恢复PostgreSQL数据库失败

我有一个比较两hstore列的视图.

当我转储和还原此数据库时,还原失败并显示以下错误消息:

Importing /tmp/hstore_test_2014-05-12.backup...
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 172; 1259 1358132 VIEW hstore_test_view xxxx
pg_restore: [archiver (db)] could not execute query: ERROR:  operator does not exist: public.hstore = public.hstore
LINE 2:  SELECT NULLIF(hstore_test_table.column1, hstore_test_table....
                ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
    Command was: CREATE VIEW hstore_test_view AS
 SELECT NULLIF(hstore_test_table.column1, hstore_test_table.column2) AS "nullif"
   FROM hst...
pg_restore: [archiver …
Run Code Online (Sandbox Code Playgroud)

postgresql pg-restore hstore postgresql-9.3

6
推荐指数
1
解决办法
2473
查看次数

使用PostgreSQL hstore for i18n

我只是为一个需要本地化支持的新项目建模PostgreSQL数据库.我想知道hstore是否可能是本地化某些数据字段的好方法.

例如:让我们为带有字段post_title和的博客文章采用简化的表格post_content.使用键值类型hstore,可以向这些字段添加多个翻译,使用语言代码作为键标识:

id | post_title (hstore)   | post_content (hstore)
---|-----------------------|------------------------------
 1 | "en" => "Hello World",| "en" => "Content in english",
   | "de" => "Hallo Welt"  | "de" => "Inhalt auf deutsch"
---|-----------------------|------------------------------
 2 | ...                   | ...
Run Code Online (Sandbox Code Playgroud)

有没有人有这种方法的经验?它似乎非常灵活且易于使用,但也许我在这里缺少一些明显的缺点?

postgresql internationalization hstore

6
推荐指数
1
解决办法
375
查看次数

缺少hstore扩展名

我正在运行postgresql-9.5.3,我尝试创建扩展:

CREATE EXTENSION IF NOT EXISTS hstore; 
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

无法打开扩展控制文件"/usr/share/pgsql/extension/hstore.control":没有这样的文件或目录

我该如何安装hstore?

postgresql hstore

6
推荐指数
1
解决办法
5326
查看次数