sql >> Base de Datos >  >> RDS >> PostgreSQL

Forzar a Liquibase a asignar Blob a BYTEA en PostgreSQL

Tienes dos opciones.

Si solo necesita esto para Postgres y no planea admitir otros DBMS, simplemente use bytea como el tipo de columna.

Cualquier tipo de datos que no figure como uno de los tipos "genéricos" en la descripción de la columna etiqueta se pasará "tal cual" a la base de datos, por ejemplo,

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

Si desea admitir diferentes DBMS, puede definir una propiedad según el DBMS:

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

luego más tarde

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