草庐IT

activeRecord

全部标签

使用 Rails ActiveRecord 的 MySQL REGEXP

这已经困扰我一段时间了...我需要查询一个用户表并找到名称中有两个空格的用户。我有多个直接针对数据库的SQL查询版本,最简单和更简洁的是:SELECT'firstlast'REGEXP'[[:space:]]{2}';我还可以使用ruby​​REGEX使其在rails上工作:User.pluck(:full_name).select{|n|n=~/([[:alpha:]]*)[[:space:]]{2}/}或User.pluck(:full_name).select{|n|n=~/\w+\s{2}/}我一直在尝试以多种方式使用AR,但我不确定我错过了什么。也许我需要逃避什么...我读了

mysql - Rails 将 mysql tinyint(1) 视为 bool 值 - 但我希望它是一个数字

Rails4.2.1使用mysql2gem。ActiveRecord将数据类型为tinyint(1)的mysql列视为bool值。但我想将它用作一个小数字-我想存储最多100个值,这对于tinyint(1)是可以的。当我尝试创建记录时,tinyint列转换为false并且我收到折旧警告:>Foo.create(my_tinyint_col:13)(0.2ms)BEGINSQL(0.5ms)INSERTINTO`foos`(`my_tinyint_col`)VALUES(0)(107.3ms)COMMIT=>#DEPRECATIONWARNING:Youattemptedtoassign

php - Yii2 事件记录中按查询等效的 MySQL 复杂顺序

我需要按status字段对表格数据进行排序,但我也想先显示一些具有特定status的行。目前我可以像这样使用MySQL实现这一点:SELECTstatusFROMitemORDERBYstatusNOTLIKE'%order-status%',status因此所有具有order-status的项目将首先显示订单状态,然后其他项目按状态排序。但我无法在Yii2ActiveRecord中实现这一点。我试着写这样的东西:$query->orderBy(['notlike','item.status','order-status']);$query->orderBy(['item.status

mysql - 在 (J)Ruby 中解析 XML 并插入数据库

我是(J)Ruby的新手-在RoR中编写了一些微型“演示应用程序”但还没有真正掌握语法。我目前有一个用Java编写的应用程序,它需要一个XML文件,解析它,然后使用Hibernate将其插入MySQL数据库。我真正想做的是看看我是否可以将它移植到JRuby,-主要作为学习练习-但我不确定去哪里开始。这个文档似乎给出了一个解析XML的好主意:http://developer.yahoo.com/ruby/ruby-xml.html但是从那里开始,我不确定将它放入数据库的最佳方式是什么是。ActiveRecord是一个选项吗?如果可以,我该如何将其连接到一个“独立的”JRuby应用程序?或

mysql - 将 Rails ActiveRecord 对象保存到临时表 (MySQL)

用户可以从文件中将数据导入我们的网站。数据通常包含数百个项目(Item虽然验证有帮助,但它们不能解决内容完整性检查的问题。为此,我们希望有一个测试模式。我们可以在Rails/MySQL中为此使用临时Items表吗?如果可以,我们应该怎么做? 最佳答案 您可以使用ARExtensions为此的gem。阅读此article了解更多详情。User.create_temporary_tabledo|temp_model|#nowperformtheinsertsontemptable.temp_model.create(...)...end

mysql - 如何使用 Ruby ActiveRecord 映射数据库 View ?

如何在Rails中使用RubyActiveRecord映射mysql数据库View? 最佳答案 《EnterpriseRails》一书有一整章是关于基于数据库View的模型。Hereitis在Google图书上。 关于mysql-如何使用RubyActiveRecord映射数据库View?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2700320/

sql - 为什么这条SQL会生成一个临时表而且运行的很慢?

我的Rails应用程序生成了以下SQL,它试图从市场应用程序和mysql中获取所有具有实时广告的汽车模型的列表:SELECT`models`.*FROM`models`INNERJOIN`autos`ONautos.model_id=models.idINNERJOIN`ads`ON`ads`.id=`autos`.ad_idWHERE(ads.ad_status_id=4ANDpub_start_dateNOW()ANDmodels.manufacturer_id=50)GROUPBYmodels.idORDERBYmodels.name;当我运行解释时,这就是我得到的:Id111S

mysql - 没有明显锁的 ActiveRecord "Mysql::Error: Lock wait timeout exceeded"

Rails版本:2.3.8一天中有很多次,我的应用程序看似随机返回500错误,并在生产日志中有相应的条目:ActiveRecord::StatementInvalid(Mysql::Error:Lockwaittimeoutexceeded;tryrestartingtransaction:INSERTINTO`forum_posts`(`forum_topic_id`,`created_at`,`body`,`ancestry`,`updated_at`,`quote_limit`,`user_id`,`ancestry_depth`,`quote_root`)VALUES(1224

php - 设置 Yii MANY_MANY 关系

我正在尝试使用ActiveRecord在Yii中建立一个MANY_MANY关系。我有三个表简介配置文件_id简介_描述类别类别编号类别名称个人资料类别配置文件_id类别_id我的模型是Profile、Category和ProfileCategory。我正在尝试使用category_id运行查询,该查询将提取该类别中的所有配置文件。这是类别模型中的信息。publicfunctionrelations(){//NOTE:youmayneedtoadjusttherelationnameandtherelated//classnamefortherelationsautomaticallyg

mysql - Rails 表中整数的默认大小 (MySQL)

当我运行时railsgmodelStripeCustomeruser_id:integercustomer_id:integerannotate我得到了#==SchemaInformation#Tablename:stripe_customers#id:integer(4)notnull,primarykey#user_id:integer(4)#customer_id:integer(4)#created_at:datetime#updated_at:datetime这是否意味着我最多只能保存9,999条记录?(我很惊讶键的默认大小有多小)。如何将现有表格中的默认ID更改为7位数字?