ruby-on-rails - 如何根据 Ruby on Rails 迁移中另一行的选择值更改_column_default?
问题描述
对不起,你们。Ruby on Rails 的新手。我正在更新包含以下是/否问题的个人资料表格:
用户表已经有一个现有的children_under_five
列,但我想添加一个列has_children
来合并他们是否有孩子。唯一的新字段将是has_children
,如果有人有一个 5 岁以下的孩子,这意味着他们有一个孩子,那么has_children
对于这些人来说应该是正确的,否则它应该默认为false
. 如何在迁移本身中实现这一点?到目前为止,这就是我所拥有的:
def change
add_column :users, :has_children, :boolean, default: false, null: false
end
end
解决方案
在该迁移或以下迁移中添加更新语句...
def change
query = <<-SQL
update users
set has_children = children_under_five
SQL
execute query
end
推荐阅读
- android - 如何修复构建gradle
- function - 如果 x = sml 中的整数,如何编写一个计算 F(x) 的函数
- java - 如何从java中的不同类调用单个实例?
- excel - 如何使用 vba 将 Excel 工作簿附加到幻灯片中
- javascript - 各有什么办法
- 在一个
- 在不影响其他类的情况下更改其类名?
- 在一个
- c - Atmel Studio 7 - 静态库未定义函数参考
- python - 连接到 mongo atlas 会给出 pymongo.errors.ServerSelectionTimeoutError: localhost:27017
- azure - 用于实时流式传输的 Azure MediaServices - 延迟时间很长
- javascript - 从 li 中删除子弹
- swift - SwiftUI 组合搜索文本