sequel
将tinyint(1)
字段解释为boolean
类型。虽然大多数情况下都是合理的,但是有没有办法得到真正的整数值呢?
mysql> CREATE TABLE t1 (f1 TINYINT(1));
mysql> INSERT INTO t1 VALUES (0), (1), (2);
$ type 1.rb
#!/usr/bin/env ruby
require 'sequel'
require 'pp'
$DB = Sequel.connect(
adapter: 'mysql2',
database: 'd1',
user: 'u1',
password: '...',
)
pp $DB[:t1].all
$ ./1.rb
[{:f1=>false}, {:f1=>true}, {:f1=>true}]
最佳答案
看起来这就是你需要的:http://sequel.jeremyevans.net/rdoc-adapters/classes/Sequel/MySQL.html
具体来说,打电话
Sequel::MySQL.convert_tinyint_to_bool = false
在初始化代码的某个地方。
关于ruby - 如何使Sequel将列视为整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23657570/