我在我的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. –