草庐IT

Activerecord

全部标签

mysql - 我应该使用 ON DELETE CASCADE、:dependent => :destroy, 还是两者都使用?

在Rails应用程序中,我在MySQL中有外键约束,我将它们全部手动设置,与我的迁移分开。我正在考虑是否应该使用ActiveRecord的:dependent=>:destroy选项。例如,在我的架构中我有表...users-----log_entries-----------user_id#HasFKconstrainttousers.idwithONDELETECASCADE在我的模型中我可以...classUser:destroyend我是否应该忽略模型上的依赖选项,而将其留给数据库?或者把它放在那里好吗?删除此应用程序中的内容时,我不需要运行任何回调。在所有情况下,只需删除它们

mysql - Rails ActiveRecord Mysql2::错误:未知列 'objectname.'

我有一个现有的MySQL表的更新在Rails下失败了。这是相关的Controller代码:on=ObjectName.find_by_object_id(params[:id])if(on)#editexistingifon.update_attributes(params[:param_type]=>params[:value])respond_todo|format|...endObjectName模型类有3个值(object_id、other_id和prop1)。发生更新时,生成的SQL将显示为UPDATE`objectname`SET`other_id`=245WHERE`ob

mysql - 如何解决 请安装 mysql 适配器 : `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. 将其添加到 Gemfile。)

我在Dreamhost上运行一个rails3应用程序:不是最好的选择,但我需要它在我可以迁移到Heroku之前运行。我正在使用rails3.2.1和ruby​​1.8.7gem'mysql2','~>0.2.7'在我的Gemfile中...部署和重新加载时出现以下错误:请安装mysql适配器:geminstallactiverecord-mysql-adapter(mysql不是bundle的一部分。将其添加到Gemfile。)我已经尝试了gem'mysql2',gem'mysql2','还有其他想法吗? 最佳答案 首先尝试将con

mysql - 4 列的 DISTINCT 值

我有一张这样的table:maiL_clientplatformrendering_enginecategoryAndroidmobileWebkitreadAndroidmobileWebkitdeletedAppleiPhonemobileWebkitskimmedOtherOtherdesktopreadOtherOtherdesktopdeletedAndroidOthermobileskimmed现在我需要的是获取所有这些列的不同值。是否可以在一个查询中获取它?如果我使用简单的SELECTDISTINCTcolumn_names那么它会给出重复的值。我在CodeIgniter

MySQL 外键约束在我的 Rails 3.1 应用程序中抛出 ActiveRecord::StatementInvalid(锁定等待超时)

**SoftwareVersions:**Rails3.1.3MySQL5.5.21OS:MacOS10.7.3今天我用foreignergem向我的MySQL数据库添加了很多外键约束。但是现在我在简单插入时得到“锁定等待超时”异常:ActiveRecord::StatementInvalid(Mysql2::Error:Lockwaittimeoutexceeded;tryrestartingtransaction如果我从我的数据库中删除外键约束,问题就消失了。当我尝试添加一个包含“has_one”与“accepts_nested_attributes_for”关联数据的对象时,问题

mysql - 安装 mysql2 适配器时出错 : Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (cannot load such file -- mysql2/mysql2)

我在运行Redmine2.3-stable时遇到这个错误,随后无法成功安装mysql2适配器。这是错误:Pleaseinstallthemysql2adapter:`geminstallactiverecord-mysql2-adapter`(cannotloadsuchfile--mysql2/mysql2)我在运行网站、通过passenger和运行rakedb:migrate时得到这个适配器已安装:gemlist*本地gem*actionmailer(3.2.13)actionpack(3.2.13)activemodel(3.2.13)activerecord(3.2.13)ac

php - Yii:从一个表单中保存多个模型并检查现有记录

下面是我拥有的三个表之间的关系。现在,在通过user/create操作创建新用户时,表单接受用户表字段和单位名称的输入。这里的单位名称不是下拉列表(使用它不是一个选项),而是一个文本字段。如果在表格中输入的单位名称在单位表中不存在,我需要将其插入到单位表中,然后将关系/引用保存在user_unit表中。如果它存在我只是更新user_unit表。我可以通过在用户模型中声明unitname属性然后将其与表单相关联来使其正常工作,然后在Controller中我检查输入的单位名称是否存在于单位表中。如果它存在,那么我更新UserUnit模型,如果它不存在,那么我创建该单元,然后更新UserUn

mysql - Rails 失去与 MySQL 的连接

当使用ActiveRecord进行正常的数据库查询时,我遇到了以下错误:Mysql2::Error:LostconnectiontoMySQLserverduringquery甚至ActiveRecord::StatementInvalid(Mysql2::Error:MySQLclientranoutofmemory)错误是不可恢复的(只能通过重启应用重新连接)并且不绑定(bind)到特定的数据库查询(它们会突然出现在应用的各个地方)。应用程序负载不高。实际上我是它的唯一用户。有时应用程序运行一整晚都没有任何问题,有时它会在运行数小时/分钟后崩溃。有时WEBrick/Puma突然退出

mysql - 在 ActiveRecord 模型的所有查询中更改 FROM

我正在开发一个连接到第三方MySQL数据库的Rails项目,我无法更改其架构。到目前为止,我已经能够将所有东西都塞进rails中并使其发挥出色,但我遇到了一个有趣的问题。我有一张table,我们称它为foos.我有一个名为Foo的ActiveRecord模型使用此表的。问题是这个表代表了两种相似但不同类型的记录。我们称它们为A型Foo和B型Foo。为了解决这个问题,我创建了两个类,FooTypeA和FooTypeB继承自Foo并具有默认范围,以便它们仅包含各自类型的记录。我的代码看起来像这样:classFoo{whereis_type_a:true}#methodsfortypeAen

mysql - ActiveRecord::StatementInvalid: Mysql2::Error: 超过锁定等待超时

在我的rails项目中,我使用sidekiq处理耗时任务,但是在sidekiq中记录了一个错误:ActiveRecord::StatementInvalid:Mysql2::Error:Lockwaittimeoutexceeded;tryrestartingtransaction:UPDATE`marker_layers`SET`show_fields`='title,desc',`sort_col`='title,desc',`updated_at`='2016-05-1707:36:02'WHERE`marker_layers`.`id`=16021210Processor:iZ