PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Forcer Liquibase à mapper Blob sur BYTEA sur PostgreSQL

Vous avez deux options.

Si vous n'en avez besoin que pour Postgres et que vous ne prévoyez pas de prendre en charge d'autres SGBD, utilisez simplement bytea comme type de colonne.

Tout type de données qui n'est pas répertorié comme l'un des types "génériques" dans la description de la colonne balise sera transmis "tel quel" à la base de données, par exemple

<createTable tableName="foo">
  <column name="id" type="integer"/> 
  <column name="picture" type="bytea"/>
</createTable>

Si vous souhaitez supporter différents SGBD, vous pouvez définir une propriété en fonction du SGBD :

<property name="blob_type" value="bytea" dbms="postgresql"/>
<property name="blob_type" value="blob" dbms="oracle"/>

puis plus tard

<createTable tableName="foo">
  <column name="id" type="integer"/> 
  <column name="picture" type="${blob_type}"/>
</createTable>