# monkeypatch these database types to provide a BigInteger type, # which was only added to sqlachemy proper in 0.6 import sqlalchemy.databases.sqlite import sqlalchemy.databases.postgres import sqlalchemy.databases.mysql from sqlalchemy.types import * class BigInteger( Integer ): """ A type for bigger ``int`` integers. Typically generates a ``BIGINT`` in DDL, and otherwise acts like a normal :class:`Integer` on the Python side. """ class BIGINT( BigInteger ): """The SQL BIGINT type.""" # sqlite doesn't have this defined in 0.5.5 at least, # so we need to add it explicitly class SLBigInteger( BigInteger ): def get_col_spec( self ): return "BIGINT" sqlalchemy.databases.sqlite.SLBigInteger = SLBigInteger sqlalchemy.databases.sqlite.colspecs[BigInteger] = SLBigInteger sqlalchemy.databases.sqlite.ischema_names['BIGINT'] = SLBigInteger sqlalchemy.databases.postgres.colspecs[BigInteger] = sqlalchemy.databases.postgres.PGBigInteger sqlalchemy.databases.mysql.colspecs[BigInteger] = sqlalchemy.databases.mysql.MSBigInteger