Page 1 sur 1

RAW, BYTEA, UUID

Posté : ven. 8 sept. 2017 14:12
par Phil
Merci à Yves pour sa question :

Certaines colonnes de type RAW sur Oracle sont converties en colonnes de type UUID suite à la migration vers PostgreSQL. D'autres colonnes de type RAW sont converties en colonnes de type BYTEA, en fait toutes celles qui n'avaient pas la valeur par défaut sys_guid et c'est le cas des clés étrangères.
Cela rend impossible les jointures. Est-il possible de convertir les colonnes BYTEA contenant des identifiants universels uniques en UUID ?


Réponse :

Le script de création des tables a été obtenu automatiquement grâce à ora2pg. Il est toujours possible d'effectuer une conversion supplémentaire après la migration si certains mappings automatiques ne conviennent pas. Exemple ici si la colonne NOM_COLONNE de type bytea contient effectivement des UUID :

Code : Tout sélectionner

alter table NOM_TABLE alter column NOM_COLONNE type uuid USING CAST( substring(CAST (NOM_COLONNE AS text) from 3) AS uuid);