Tag: sql

Rails:将nils排序到范围的末尾?

所以,我的Photo模型中有以下范围: scope :best, order(:average_rating.desc) 唯一的问题是,事后评级被添加到模型中,因此生产应用程序有很多记录,其中average_rating为零。 当我调用这个范围时,它首先返回所有的nils – 事实上它应该是相反的,nils应该是最后的(它们是尚未评级的照片)。 如何将nils排序到此范围的末尾?

mysql中的字符串长度是否有限制?

我正在使用Rails的MySQL数据库。 我创建了一个string类型的字段。 它的长度有限制吗? 那么输入text怎么样? 此外,由于text大小可变,我相信使用文本对象会产生额外的成本。 如果有的话,他们有多重要?

在Rails中暂时禁用SQL缓存?

我目前正在创建一个带有一些cronjobs等的Rails应用程序,但是我有一些问题因为sql是由Rails缓存的。 所以任何人都知道如何在Rails中禁用SQL Cache? 不是全局的,而是针对此代码。 真的不想为每个模型创建一个方法,所以无论如何只是暂时禁用它? Terw

需要sql查询帮助来查找标记有所有指定标签的内容

假设我有以下表格: TAGS id:整数 name:string post id:整数 主体 引用的Tagging id:整数 tag_id:整数 post_id:整数 我将如何编写一个查询,选择所有标记有以下所有标记的post(标签表的名称属性):“Cheese”,“Wine”,“Paris”,“Frace”,“City”,“风景“,”艺术“ 另请参阅: 需要有关sql查询的帮助以查找具有最多指定标记的内容 (注意:类似,但不重复!)

Rails:使用jquery tokeninput(railscast#258)创建新条目

我已经成功地实现了新的艺术家条目的添加,这些条目未包括在Ryan Bates的轨道广播中#258 http://railscasts.com/episodes/258-token-fields 换句话说,用户可以输入一个艺术家名称,该名称将使用jquery tokinput自动完成。 但是,我希望自动填充结果只显示由该个人用户创建的艺术家名称。 这有意义吗? 一个更好,更容易理解的例子是collection.rb,其中用户创建post并为post指定一个“集合”,但他们应该只能将post添加到他们自己创建的集合中。 这是使用artist_tokens作为虚拟属性的post表单: true, :html => {:multipart => true} do |f| %> f.object %> @post.artists.map(&:attributes).to_json %> 这会通过在post表单上输入artist_tokens字段的值来查找艺术家,并且还添加了“添加{params [:q]}”选项以添加新条目。 class ArtistsController < ApplicationController def index @artists = Artist.where("name like ?", "%#{params[:q]}%") results = @artists.map(&:attributes) results < “Add: #{params[:q]}”, :id => “CREATE_#{params[:q]}_END”} respond_to do |format| format.html format.json { render :json => […]

什么是rails项目中的db / development_structure.sql?

我的rails应用程序的我的/ db文件夹中有一个development_structure.sql (rails 2.3.4,ruby 1.8.7),我不确定它到底是做什么的。 某些特定环境需要它吗? (我想我读过它用于测试的地方) 我需要将它添加到我的git存储库吗?

has_many:通过多个has_one关系?

我正在为我们的铁路教堂写一个导师计划(我仍然很喜欢铁路)。 我需要对此进行建模.. contact has_one :father, :class_name => “Contact” has_one :mother, :class_name => “Contact” has_many :children, :class_name => “Contact” has_many :siblings, :through , :source => :children 所以基本上一个对象“兄弟姐妹”需要映射父亲和母亲的所有孩子,不包括对象本身。 这可能吗? 谢谢 丹尼尔

在postgresql中,“数据库”和“关系”有什么区别? (’错误关系x不存在’,’错误数据库x已存在’)

我看到这两个错误的并置,并且鉴于Google搜索结果的缺乏,我不得不问。 有什么区别,我需要在这做什么? deploy=# GRANT SELECT ON angel_research_production TO angel_research; ERROR: relation “angel_research_production” does not exist deploy=# create database angel_research_production; ERROR: database “angel_research_production” already exists 我的猜测是我需要从其他一些用户那里做这个授权选择业务… 所以我在postgres(dbroot)上运行它并得到这个: postgres=# GRANT SELECT ON angel_research_production TO angel_research; ERROR: relation “angel_research_production” does not exist 因此它确实作为数据库存在,但不作为关系存在。 我怎么能纠正这个问题,这里有什么根本问题? 我有点不知所措。 谢谢

Acts-as-taggable-on按上下文查找所有标记

因此,在为我的rails应用程序搜索标记gem之后,我发现了令人惊叹的行为 – 作为可标记的gem。 安装它并玩游戏我发现它将所有标记保存在标记db中,它只保存没有上下文的Tag.name,而是保存在:through relationship db(taggings)中。 在大多数情况下,我可以看到这是完美的。 除了我的应用程序,我希望能够为用户提供基于预先存在的标签进行标记的能力(例如,不允许他们创建自己的标签), 并且作为标签的行为无法搜索所有标签在内置的一个上下文中(例如,如果我要呈现标记db的自动完成,我将包含我的应用程序中的所有标记,这不是我想要的) 下面的方法是我刚刚充实,以确定它是否会起作用(它确实如此)但我想知道我是否遗漏了一些带有act-as-taggable的东西 。 我的意思是我看不到提供这种方法的任何地方? 如果例如act-as-taggable不这样做,这是最好的方法吗? 感觉有点不高性能,我会更好地进行自定义SQL查询而不是通过act-as-taggable进行路由吗? 如果它有助于我的日志的尾巴: Started GET “/users” for 127.0.0.1 at 2011-01-04 14:46:20 +0000 Processing by UsersController#index as HTML SQL (0.5ms) SELECT name FROM sqlite_master WHERE type = ‘table’ AND NOT name = ‘sqlite_sequence’ User Load (0.1ms) SELECT “users”.* FROM “users” ActsAsTaggableOn::Tagging Load (0.5ms) SELECT […]

counter_cache has_many_through sql optimization,减少sql查询次数

我如何优化我的SQL查询,忽略这样的情况: Meeting.find(5).users.size => SELECT COUNT(*)FROM … WHERE … User.find(123).meetings.size => SELECT COUNT(*)FROm … WHERE … 我不知道如何在这里使用counter_cache。 这是我的模型关系: class Meeting meeting_users end class User meeting_users end class Meeting_user < ActiveRecord::Base belongs_to :meeting belongs_to :user end 什么是最优解决方案? 如何在这里实现counter_cache?