Estoy tratando de encontrar la forma de relate column types en las bases de datos más utilizadas: MySQL, PostgreSQL y SQLite.Comparación de tipos de columna de base de datos en MySQL, PostgreSQL y SQLite? (Cross-Mapping)
Esto es lo que tengo hasta ahora, pero me temo que no está hecho y necesito algunas personas con más experiencia para ayudarme a terminar cualquier tipo que falte.
MySQL PostgreSQL SQLite
TINYINT SMALLINT INTEGER
SMALLINT SMALLINT
MEDIUMINT INTEGER
BIGINT BIGINT
BIT BIT INTEGER
_______________________________________________________
TINYINT UNSIGNED SMALLINT INTEGER
SMALLINT UNSIGNED INTEGER
MEDIUMINT UNSIGNED INTEGER
INT UNSIGNED BIGINT
BIGINT UNSIGNED NUMERIC(20)
_______________________________________________________
DOUBLE DOUBLE PRECISION REAL
FLOAT REAL REAL
DECIMAL DECIMAL REAL
NUMERIC NUMERIC REAL
_______________________________________________________
BOOLEAN BOOLEAN INTEGER
_______________________________________________________
DATE DATE TEXT
TIME TIME
DATETIME TIMESTAMP
_______________________________________________________
TIMESTAMP DEFAULT TIMESTAMP DEFAULT TEXT
NOW() NOW()
_______________________________________________________
LONGTEXT TEXT TEXT
MEDIUMTEXT TEXT TEXT
BLOB BYTEA BLOB
VARCHAR VARCHAR TEXT
CHAR CHAR TEXT
_______________________________________________________
columnname INT columnname SERIAL INTEGER PRIMARY
AUTO_INCREMENT KEY AUTOINCREMENT
Diría, y creo que esta es la verdad, que no se recomienda el mapeo cruzado de los tipos de bases de datos porque, en mi opinión, no hay absolutamente ningún momento en que necesite cruzar el mapa. Puede suceder que tengas que convertir PG en Mi pero no hacer un mapa cruzado. –
¿Por qué no agregar SQL Server y Oracle a la tabla? –
El objetivo de este mapa cruzado de tipos de columnas es facilitar mucho la explicación (o incluso el uso) de las definiciones 'CREATE TABLE' entre estos tres tipos. Como están en uso a menudo, creo que el código fuente abierto debe estar listo para cualquiera de ellos. – Xeoncross