我在我的DB(.sqlite3)中有布尔列。它可能是't'或'f'。更改DB中的默认布尔值
t.boolean :disable_product_category
如何将值更改为1或0?
编辑: 我觉得这Rails 3 SQLite3 Boolean false
我编辑active_record/connection_adapters /抽象/ quoting.rb。
if column && column.type == :integer
value ? 1 : 0
else
value ? 't' : 'f'
end
将't'和'f'替换为1和0后,所有工作都按我的意愿进行。
这是正常的解决方案吗?我想用这个:?
# config/initializers/sqlite3_adapter_patch.rb
module ActiveRecord
module ConnectionAdapters
class SQLite3Adapter < AbstractAdapter
QUOTED_TRUE, QUOTED_FALSE = "'t'", "'f'"
def quoted_true
QUOTED_TRUE
end
def quoted_false
QUOTED_FALSE
end
end
end
end
但它不工作:(它是需要以某种方式更新应用程序
我在Rails和Java应用程序中使用这个数据库。 Java应用程序使用OrmLite,它们使用0和1布尔值进行操作。我需要将Rails上的char('t'或'f')布尔值更改为1或0. –