草庐IT

activeRecord

全部标签

mysql - Rails Resque 工作人员因 mysql "Too many connections"而失败

我们最近将我们的(ruby)作业排队系统从DelayedJob切换到了Resque。虽然我们的延迟已经下降,并且我们已经消除了数据库瓶颈,但我们现在看到了一个新问题;我们的一名或多名工作人员似乎在数据库连接退出时保持打开状态。当我们查看进程列表时,有数百个连接处于“sleep”状态。他们最终在90秒后超时。我们一直在节流我们的工作人员以防止客户端连接耗尽,但我们真正需要找到的out是我们的哪个(或多个)作业在使用mysql2ruby​​客户端断开连接时不礼貌。有什么想法可以(1)找到罪魁祸首或(2)检测我们的代码,以便我们可以确保在作业终止之前我们确实断开连接了吗?rails4.0.x

php - Yii2 ActiveQuery 在链接数组中使用 OR

我想在ActiceRecord扩展的类中的hasMany函数中的$link数组中使用OR运算符。例如,我想获取与用户帐户相关的交易。在sql中,它类似于SELECT*FROMtransactionsWHEREfromAccountId=:idORtoAccountId=:id但我如何使用Yii2编写此代码publicfunctiongetTransactions(){return$this->hasMany(Transaction::className(),['fromAccountId'=>'id','toAccountId'=>'id']);} 最佳答案

php - 无法插入 ActiveRecord Yii2 中的数据库

我不知道出了什么问题,但我无法插入数据库。这是我在模型中得到的。保修.phpTimestampBehavior::className(),'createdAtAttribute'=>'tstamp','updatedAtAttribute'=>false,'value'=>newExpression('NOW()'),],];}/***@inheritdoc*/publicfunctionrules(){return[[['item_no','warranty_date'],'required'],[['warranty_date','date'],'string'],['create

mysql - 如何保持 ActiveRecord 关联 DRY?

我在尝试让ARfinders在我的应用程序中保持干燥时遇到了问题。我创建了一个博客应用程序,当用户第一次查看博客时,它会获取博客的所有相关页面、帖子、链接、标签和类别。博客Controller的示例显示操作如下所示:defshow#findblogbyusername@user=User.find_by_login(params[:id])@blog=@user.blog@posts=Post.status("publish",@user).find(:all,:order=>"created_atDESC")@tags=@user.tags@pages=Page.status("pu

php - 在 Codeigniter 中使用 $this->db->like() 会返回错误/缺失的结果

我有一个现有的SQL查询,它可以完美地工作:$this->db->select('places.*,category.*')->select('COUNT(places_reviews.place_id)ASnum_reviews')->select('(places_popularity.rating_1+2*places_popularity.rating_2+3*places_popularity.rating_3+4*places_popularity.rating_4+5*places_popularity.rating_5)/(places_popularity.ratin

mysql - yii2中删除相关记录——最佳实践

我的数据库在后台使用MyISAM引擎,所以我无法调用级联删除操作,因为MyISAM不支持它。同时,我想删除我的yii2应用程序中的相关记录。我该怎么做? 最佳答案 有几种方法可以解决这个问题。1)创建一个trigger在数据库端:CREATETRIGGERtrigger_nameBEFOREDELETEONtable_nameFOREACHROWBEGIN--variabledeclarations--triggercodeEND;2)删除yii2里面的相关记录beforeDelete功能:publicfunctionbeforeD

sql - Select * sql query vs Select specific columns sql query

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhyisSELECT*consideredharmful?可能是一个数据库nOOb问题。我们的应用程序有一个如下表表WFField|Type|Null|Key|Default|Extra|+--------------------+-------------+------+-----+---------+----------------+|id|int(11)|NO|PRI|NULL|auto_increment||children|text|YES||NULL|||w_id|int(11)|YES||NU

mysql - 如何将 RIGHT LEFT 函数转换为 codeigniter 事件记录

我有这样的查询:SELECTRIGHT(id,1)id_rootFROMuserWHERELENGTH(id)=3andLEFT(id,1)='0'以及如何在codeigniter中将查询转换为事件记录。我的问题是语法RIGHT(id,1)和LEFT(id,1)='0' 最佳答案 $result_arr=$this->db->select("RIGHT(id,1)id_root",FALSE)->from("user")->where(array("LENGTH(id)"=>3,"LEFT(id,1)="=>0))->get()->

mysql - 在 fork /线程应用程序中运行时,ActiveRecord 无法重新连接?

这里有点开放式问题,所以我先概述一下问题。我们有一个Resque应该从队列中弹出数据同步作业的工作人员,原因有两个,使用Cron(并一遍又一遍地支付Rails环境启动时间)很糟糕,以及替代队列,Github做了一个很好的例子当他们反对他们时announcedResque.此外,Redis时间序列功能已经在我们的基础架构中发挥了重要作用,我们还将TS数据洗牌到RRDTool等...这就是问题所在,作业之间通常间隔三个小时(但工作人员可以随时安排作业……因此需要排队),PostgreSQL服务器消失了。很容易治愈,我希望在相应的环境下设置reconnect:true将确保它按预期工作。我在

mysql - 使用 Codeigniter 从同一个表进行多个 SQL 连接

我有一个数据库,其中有2列ID引用同一个表如何对同一个表进行2次连接,并能够提取数据。这是我的:$this->db->select('s.id,c.title,c.description,s.time,s.day,s.instructor_change,s.studio_change,s.time_change,s.new_class,s.reservation_req,s.easy_does_it,s.mind,s.level,s.duration,s.location,i.first,i.last');$this->db->from('scheduleass');$this->db