Rails迁移以将主键添加到现有表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails迁移以将主键添加到现有表相关的知识,希望对你有一定的参考价值。

我有一个表有两列employee_idmanager_id没有mysql中的主键。 Employee和Employee_Manager有很多关系。为了更新记录,我需要在Employee_Manager表上使用主键。因此,在rails中,如何生成迁移,该迁移将列添加到现有表id(主键)并为现有表中的所有记录设置行值。

答案

要更新关联上的记录,表格中不需要id列。您始终可以运行如下查询:

EmployeeManager.where(employee_id: 120, manager_id: 75).first.update_attributes(from_date: Time.now)

以上是关于Rails迁移以将主键添加到现有表的主要内容,如果未能解决你的问题,请参考以下文章

寻找正确的 sql 语法以将默认值添加到现有表

将主键 int 类型更改为串行

如何在 BigQuery 上展开数组以将列添加到现有表

如何在竞争条件下将主键值插入表中?

如何在 Rails 迁移中添加检查约束?

如何通过 Rails 迁移克隆数据库表?