你好,我有一个简单的问题,也许并不简单......
背景:我想要用数据库(mysql)替换掉yaml
文件中的状态,因此在用户表中创建了名为"status"的列。当我将逻辑替换为数据库时,我创建了一个名为Status的模型,创建了一个表,并配置了与用户的关系......
问题描述:当我在用户表中创建了status_id列后,我现在有两个列:"status"和"status_id"。"status"列是字符串类型,有很多字符串值,例如"confirmed"。请问如何(使用种子迁移和状态)填充"status_id"列。我的意思是,如果"status"列有值"confirmed",我希望"status_id"列的值为1。
statuses table:
id name
1 confirmed
2 not confirmed
3 something else
Users table
id status status_id
1 confirmed empty
2 confirmed empty
3 confirmed empty
4 not confirmed empty
5 not confirmed empty
6 something else empty
7 something else empty
用户属于 :状态
状态有多个用户
问题: 为什么我不只是在“状态”列中更改名称和类型为“id”的“status_id”?
答案: 因为我需要使用capistrano将其部署到生产服务器,并且我不能丢失数据或删除状态列中的数据。