sequeltinyint(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/

10-11 09:01