def _get_portable_table_column_definition(self, table_column):
        parts = table_column['type'].split('(')
        table_column['type'] = parts[0]
        if len(parts) > 1:
            length = parts[1].strip(')')
            table_column['length'] = length

        db_type = table_column['type'].lower()
        length = table_column.get('length', None)
        unsigned = False

        if db_type in ' unsigned':
            db_type = db_type.replace(' unsigned', '')
            unsigned = True

        fixed = False

        type = self._platform.get_type_mapping(db_type)
        default = table_column['dflt_value']
        if default == 'NULL':
            default = None

        if default is not None:
            # SQLite returns strings wrapped in single quotes, so we need to strip them
            default = re.sub("^'(.*)'$", '\\1', default)

        notnull = bool(table_column['notnull'])

        if 'name' not in table_column:
            table_column['name'] = ''

        precision = None
        scale = None

        if db_type in ['char']:
            fixed = True
        elif db_type in ['float', 'double', 'real', 'decimal', 'numeric']:
            if 'length' in table_column:
                if ',' not in table_column['length']:
                    table_column['length'] += ',0'

                precision, scale = tuple(map(lambda x: x.strip(), table_column['length'].split(',')))

            length = None

        options = {
            'length': length,
            'unsigned': bool(unsigned),
            'fixed': fixed,
            'notnull': notnull,
            'default': default,
            'precision': precision,
            'scale': scale,
            'autoincrement': False
        }

        column = Column(table_column['name'], type, options)
        column.set_platform_option('pk', table_column['pk'])

        return column
dataset/ETHPy150Open sdispater/orator/orator/dbal/sqlite_schema_manager.py/SQLiteSchemaManager._get_portable_table_column_definition/swapped operands of `in`