sql >> Databasteknik >  >> RDS >> PostgreSQL

Tvinga Liquibase att mappa Blob till BYTEA på PostgreSQL

Du har två alternativ.

Om du bara behöver detta för Postgres och inte planerar att stödja andra DBMS, använd bara bytea som kolumntyp.

Alla datatyper som inte är listade som en av de "generiska" typerna i beskrivningen av kolumnen taggen kommer att skickas "i befintligt skick" till databasen, t.ex.

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

Om du vill stödja olika DBMS kan du definiera en egenskap beroende på DBMS:

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

sedan senare

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



  1. MySQL-attributdatabas

  2. SQL-frågeoptimering — Hur man avgör när och om det behövs

  3. Normal bildlagring eller mySQL blob?

  4. SQL-fel:ORA-12899:värde för stort för kolumn