草庐IT

activerecord-relation

全部标签

php - Codeigniter、Activerecord 和 MySQL UDF

我们目前正在使用lib_mysqludf_preg用于与Codeigniter和Activerecord进行正则表达式模式匹配的UDF。使用PREG_REPLACEUDF,我能够通过自定义查询去除所有非数字和字母字符,Activerecord失败并返回错误result()onanonobject作品:$query=$this->db->query(sprintf("SELECT*FROMtableWHEREPREG_REPLACE('/[^a-zA-Z0-9]+/','',UPPER(first_name))='%s'ANDPREG_REPLACE('/[^a-zA-Z0-9]+/',

mysql - activerecord 是否截断时间戳精度?

使用Rails4.0.0、ruby2.0p247和mysql20.3.13gem。MariaDB5.5表中的一列注意:mariadb从5.3开始就有微秒精度支持`updated_at`timestamp(6)NOTNULLDEFAULTCURRENT_TIMESTAMP,精度应该是微秒,所以我在我的模型文件中尝试before_save:set_updatedefset_update#alsotried#self.updated_at="2013-10-0312:35:00.123456-700"#self.updated_at=Time.now.strftime"%Y-%m-%d%H:

mysql - Rails4 部署 ActiveRecord::AdapterNotSpecified

我的部署运行良好,直到迁移失败..rakeaborted!DEBUG[874287b0]ActiveRecord::AdapterNotSpecified:databaseconfigurationdoesnotspecifyadapterDEBUG[874287b0]/home/kadoudal/rails/swim-tech.eu/site/swimtech/shared/bundle/ruby/2.1.0/gems/activerecord-4.0.3/lib/active_record/connection_adapters/connection_specification.r

mysql - ActiveRecord自定义has_many关联多次调用数据库

我有一对具有belongs_to...has_many关联的ActiveRecord对象,其中has_many关联是定制的。示例:第一个AR对象:classCar第二个AR对象:classRoundObject请注意,以上内容并不代表我的应用程序的功能,只是为了概述我的两个AR对象之间的关联。我遇到的问题是,当我重置缓存(因此我的Rails应用程序重新缓存数据库中的所有AR对象)时,RoundObject对象需要被重新缓存后,它会对数据库进行多次调用,一次调用与RoundObject集合关联的每个唯一vehicle_id。正在运行的SQL命令输出到控制台,所以这就是我的输出:Round

php - 如何在 yii2 ActiveRecord 中使用查询缓存

我引用的是指南:``查询缓存是一种建立在数据缓存之上的特殊缓存功能。用于缓存数据库查询结果。查询缓存需要数据库连接和有效的缓存应用程序组件。查询缓存的基本用法如下,假设$db是一个yii\db\Connection实例:$result=$db->cache(function($db){//theresultoftheSQLquerywillbeservedfromthecache//ifquerycachingisenabledandthequeryresultisfoundinthecachereturn$db->createCommand('SELECT*FROMcustomerW

使用 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 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/

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

MySQL 最佳实践 : Updating relational tables

我有一个包含产品的MySQL主表。每个产品的任何多个字段都包含在关系表中(例如products_colour、products_photos等)。每次更新产品时,我都不确定最佳做法是什么:DELETE关系表中与正在更新的产品相对应的所有行,并将所有新字段INSERT到一个相对较新的表中;仅DELETE关系表中不再需要的那些行,INSERT尚不存在的全新行。第一个选项毯子会在每次更新产品时删除所有内容并插入新数据;第二个选项搜索现有值,计算它们是否冲突,如果冲突则删除它们,然后插入剩余数据。或者类似的东西......就最佳实践而言,最好的做法是什么?我选择第一个真的很重要吗?它会对MyS