mysql 的 boolean 类型其实是 tinyint(1)的别名,一些 ORM 工具无法识别把他识别到对应语言的 boolean 类型,日常实践有时候会选择用bit(1)
这个类型,比如java
的JOOQ
,boolean 类型会变为 java 的Byte
,而bit(1)
则是 java 的Boolean
。
但是 drizzle 的 mysql 内置类型中没有bit(1)
。你用他的drizzle-kit pull
之后会返回这个结果:
1 | // Warning: Can't parse bit(1) from database |
但是如果是已经建好的表,其他逻辑在用的话,把bit(1)
改成boolean
并不方便。
需要我们自己定义一个类型。
bit(1)
这个类型不同驱动返回不同,有些可能是作为整数,有些可能是作为 Buffer。所以扩展一下就行: