def test_boolean_detection(self):
Table(
'simple_items', self.metadata,
Column('bool1', INTEGER),
Column('bool2', SMALLINT),
Column('bool3', TINYINT),
CheckConstraint('simple_items.bool1 IN (0, 1)'),
CheckConstraint('simple_items.bool2 IN (0, 1)'),
CheckConstraint('simple_items.bool3 IN (0, 1)')
)
assert self.generate_code() == """\
# coding: utf-8
from sqlalchemy import Boolean, Column, MetaData, Table
metadata = MetaData()
t_simple_items = Table(
'simple_items', metadata,
Column('bool1', Boolean),
Column('bool2', Boolean),
Column('bool3', Boolean)
)
"""
python类SMALLINT的实例源码
def visit_boolean(self, type_):
return "SMALLINT"
def sqltype_to_stdtype(sqltype):
import sqlalchemy.types as sqltypes
if isinstance(sqltype, (sqltypes.VARCHAR, sqltypes.CHAR, sqltypes.TEXT, sqltypes.Enum, sqltypes.String)):
return _STRING_TYPE
if isinstance(sqltype, (sqltypes.DATETIME, sqltypes.DATE, sqltypes.TIME, sqltypes.TIMESTAMP)):
return _DATE_TYPE
if isinstance(sqltype, (sqltypes.INTEGER, sqltypes.BIGINT, sqltypes.SMALLINT, sqltypes.Integer)):
return _INTEGER_TYPE
if isinstance(sqltype, (sqltypes.REAL, sqltypes.DECIMAL, sqltypes.NUMERIC, sqltypes.FLOAT)):
return _DECIMAL_TYPE
if isinstance(sqltype, sqltypes.BOOLEAN):
return _BOOLEAN_TYPE