from sqlalchemy import (
    ARRAY,
    BLOB,
    CHAR,
    CLOB,
    JSON,
    NCHAR,
    NVARCHAR,
    REAL,
    SMALLINT,
    TIMESTAMP,
    UUID,
    VARBINARY,
    VARCHAR,
    BigInteger,
    Boolean,
    Date,
    DateTime,
    Double,
    Enum,
    Float,
    Integer,
    Interval,
    LargeBinary,
    Numeric,
    String,
    Text,
    Time,
)
from sqlalchemy.dialects.postgresql import JSONB

type_mapping = {
    "address": String,
    "double": Double,
    "string": String,
    "integer": Integer,
    "integer[]": ARRAY(Integer),
    "int": Integer,
    "boolean": Boolean,
    "float": Float,
    "date": Date,
    "dateTime": DateTime,
    "decimal": Numeric,
    "long": BigInteger,
    "time": Time,
    "timestamp": TIMESTAMP,
    "timestamp without time zone": TIMESTAMP(timezone=False),
    "largeBinary": LargeBinary,
    "numeric": Numeric,
    "enum": Enum,
    "json": JSON,
    "jsonb": JSONB,
    "text": Text,
    "text[]": ARRAY(Text),
    "blob": BLOB,
    "char": CHAR,
    "varchar": VARCHAR,
    "nchar": NCHAR,
    "nvarchar": NVARCHAR,
    "varbinary": VARBINARY,
    "clob": CLOB,
    "real": REAL,
    "smallint": SMALLINT,
    "tinyint": SMALLINT,
    "bit": Boolean,
    "uuid": UUID,
    "binary": VARBINARY,
    "array": ARRAY,
    "interval": Interval,
}
