我试图在SQLite3表中插入一个错误的布尔值,但它总是插入一个真值.
这是我的迁移:
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.column :name, :string
t.column :active, :boolean, :default => false, :null => false
end
end
def self.down
drop_table :resources
end
end
Run Code Online (Sandbox Code Playgroud)
当我尝试使用rails插入时,它会生成以下SQL:
INSERT INTO "users" ("name", "active") VALUES ('test', 'f')
Run Code Online (Sandbox Code Playgroud)
SQLite将'f'视为true,因此它将true插入到我的数据库中.我想要它生成的查询是:
INSERT INTO "users" ("name", "active") VALUES ('test', false)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
rails:3.0.7
sqlite3 gem:1.3.3