在我的一个数据库表(我使用的是postgres)中有一列名为:active
,它当前是一个布尔值,默认为true
。我想将此列的类型从布尔型更改为整型,以便我可以使用此项目的枚举。我检查了文档和一些堆栈溢出的答案,但尚未找到一个确切的答案。我如何使用迁移进行此更改?如果这有所作为,我正在使用Rails 5。谢谢!在列表中将列数据类型从布尔值更改为整数
0
A
回答
2
你迁移文件应该是这样的
def change
change_column :table_name, :active, :integer
end
而且你需要重写所有先前的记录,可以在相同的迁移文件中完成一个整数值。
0
您可以创建一个新的迁移:
rails g migration change_data_type_for_active
然后编辑迁移到使用change_column
:
class ChangeDataTypeForActive < ActiveRecord::Migration
def self.up
change_column :table_name, :active, :integer
end
def self.down
change_column :table_name, :active, :boolean
end
end
然后运行迁移:
rake db:migrate
之所以定义up
和down
方法是你可以返回哟u数据库到previos状态:
rake db:rollback
相关问题
- 1. 从文本更改列数据类型为整数PostgreSQL中
- 2. 将依赖项的列的数据类型从整数更改为数字
- 3. 如何将活动记录列类型从布尔值更改为不带db的整数:migrate?
- 4. 如何将列表中的类从数组更改为列表?
- 5. 更改列值数据类型(日期)
- 6. 更改表列的数据类型
- 7. 更改Postgres整数列以键入布尔值
- 8. 将列数据类型从DECIMAL(9,0)更改为DECIMAL(15,0)
- 9. 将mySQL列数据类型从文本更改为时间戳
- 10. 将[hasMany:]引用的数据类型更改为列表?
- 11. Postgres改变列整数布尔
- 12. 将文本列的数据类型更改为数字
- 13. 将列主键和外键VARCHAR数据类型更改为INT数据类型
- 14. 将列类型字符变为(3)以布尔值而不丢失数据
- 15. 在更改列中的数据类型时将int转换为值
- 16. 如何将布尔值数据表更改为asp.net MVC中的可理解值?
- 17. 如何在Julia中将列数据类型从float更改为string?
- 18. 将列类型转换为数字时更改值
- 19. 整数在循环列表中更改
- 20. 更改存在于多个表中的列数据类型
- 21. 数据类型为“”时删除整列
- 22. 如何将DataGridView的列的数据类型更改为CheckBox?
- 23. 将列的数据类型更改为串行postgresql
- 24. 将列的数据类型更改为串行
- 25. Rails Migrations:试图将列的类型从字符串更改为整数
- 26. 更改列数据类型翻番
- 27. null列更改数据类型
- 28. 更改列的数据类型
- 29. 更改NVARCHAR到VARCHAR列数据类型
- 30. 更改所有列WHERE数据类型