Je n'ai pas eu de bug explicite, mais d'après
http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL
l'équivalent de MEDIUMINT en PG est INTEGER. J'ai pu vérifier à la
main que MEDIUMINT n'existe pas en PostgreSQL (du moins, pas en
version 8.3).
Je n'ose pas corriger pour ne rien casser, mais juste après, il y a
preg_replace("/tinyint/i", 'int',
qui est syntaxiquement correct, mais tinyint en MySQL fait 1 octet,
donc smallint (2 octets) serait une meilleure traduction que int (4
octets).
--- a/ecrire/req/pg.php
+++ b/ecrire/req/pg.php
@@ -1256,7 +1256,7 @@ function mysql2pg_type($v)
return
preg_replace('/auto_increment/i', '', // non reconnu
preg_replace('/bigint/i', 'bigint',
- preg_replace('/mediumint/i', 'mediumint',
+ preg_replace('/mediumint/i', 'integer',
preg_replace('/smallint/i', 'smallint',
preg_replace("/tinyint/i", 'int',
preg_replace('/int\s*[(]\s*\d+\s*[)]/i', 'int',