-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Community Note
- Please vote on this issue by adding a 👍 reaction
to the original issue to help the community and maintainers prioritize this request - Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do
not help prioritize the request - If you are interested in working on this issue or have submitted a pull request, please leave a comment.
Debug Output
https://gist.github.com/gabrielmdeal/85ba1470346861ef87779027556218ff
Also part of the gist is Array_Repro_Table.json
, and the changelog.json
that liquibase generateChangeLog
creates.
Panic Output
N/A
Steps to Reproduce
TLDR: ARRAY
and STRUCT
column types don't seem to work with liquibase generateChangeLog
. I can't find documentation explaining if it is possible to manually create JSON for these types of columns. Nor can I find documentation that says these types are unsupported.
- Create multi-region datasets named
Gabriel_Array
andGabriel_Array_Target
- Get
Array_Repro_Table.json
from the gist above. bq mk Gabriel_Array.Array_Repro_Table Array_Repro_Table.json
- Run
liquibase generateChangeLog
onGabriel_Array
- Run
liquibase update
onGabriel_Array_Target
I ran into a similar issue with a STRUCT
column.
Expected Behavior
One of these:
- The
Array_Repro_Table
is created inGabriel_Array_Target
. 🎉 liquibase generateChangeLog
fails with an error saying that arrays and structs are not supported for Big Query.- The documentation says that arrays and structs are not supported.
Actual Behavior
liquibase update
fails with this error: liquibase.exception.DatabaseException: [Simba][BigQueryJDBCDriver](100032) Error executing query job. Message: Syntax error: Expected "<" but got "(" at [1:72] [Failed SQL: (100032) CREATE TABLE Gabriel_Array_Target.Array_Repro_Table (Array_Column ARRAY(65535))]
See the gist for the full log.
Workaround
If I use --changeLogFile=changelog.bigquery.sql
, then liquibase generateChangeLog
still generates an invalid changelog.sql
. But I am able to manually fix the SQL and then successfully run liquibase update
.