Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DAT-17482] Integrating Bigquery into liquibase #5838

Open
wants to merge 511 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
511 commits
Select commit Hold shift + click to select a range
b066fe9
Merge pull request #132 from liquibase/dependabot/maven/com.google.cl…
nvoxland May 3, 2023
94357a2
Merge pull request #130 from liquibase/dependabot/maven/org.jacoco-ja…
nvoxland May 3, 2023
6869e36
Merge pull request #127 from liquibase/dependabot/maven/info.picocli-…
nvoxland May 3, 2023
77cbf4e
Merge pull request #124 from liquibase/dependabot/maven/liquibase.ver…
nvoxland May 3, 2023
523bf6a
Merge pull request #82 from ismailsimsek/fix_bq_quoting_character
filipelautert May 8, 2023
c1b6d09
Bump maven-surefire-plugin from 3.0.0 to 3.1.0
dependabot[bot] May 8, 2023
046e5c6
Merge pull request #135 from liquibase/dependabot/maven/org.apache.ma…
filipelautert May 9, 2023
69a9609
Bump liquibase.version from 4.21.1 to 4.22.0
dependabot[bot] May 11, 2023
3fb753b
Merge pull request #136 from liquibase/dependabot/maven/liquibase.ver…
filipelautert May 11, 2023
3857771
Automerge dependabot minor issues.
filipelautert Jun 19, 2023
86bf15c
Bump picocli from 4.7.3 to 4.7.4
dependabot[bot] Jun 19, 2023
0cb3d9c
Merge pull request #152 from liquibase/dependabot/maven/info.picocli-…
filipelautert Jun 19, 2023
3449e64
Automerge dependabot minor issues.
filipelautert Jun 19, 2023
4f6a844
Bump google-cloud-bigquery from 2.25.0 to 2.28.0
dependabot[bot] Jun 19, 2023
c2c9756
Merge pull request #157 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jun 19, 2023
79f824c
Bump google-http-client from 1.43.1 to 1.43.3
dependabot[bot] Jun 21, 2023
4860021
Merge pull request #158 from liquibase/dependabot/maven/com.google.ht…
github-actions[bot] Jun 21, 2023
0e69d18
Bump google-cloud-bigquerystorage from 2.36.1 to 2.39.0
dependabot[bot] Jun 22, 2023
171d15d
Merge pull request #159 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jun 22, 2023
ae5694a
Bump google-cloud-bigquery from 2.28.0 to 2.29.0
dependabot[bot] Jun 23, 2023
0d2bc8e
Merge pull request #161 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jun 23, 2023
011f306
Bump liquibase.version from 4.22.0 to 4.23.0
dependabot[bot] Jun 26, 2023
78abe52
Merge pull request #163 from liquibase/dependabot/maven/liquibase.ver…
github-actions[bot] Jun 26, 2023
80eaa10
Bump libraries-bom from 26.14.0 to 26.18.0
dependabot[bot] Jun 28, 2023
18874ff
Merge pull request #164 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jun 28, 2023
8d1d80c
Bump google-cloud-bigquery from 2.29.0 to 2.30.0
dependabot[bot] Jul 17, 2023
0428549
Merge pull request #165 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 17, 2023
f514d25
Bump google-cloud-bigquery from 2.30.0 to 2.30.1
dependabot[bot] Jul 18, 2023
b9948cc
Bump google-cloud-bigquerystorage from 2.39.0 to 2.40.1
dependabot[bot] Jul 18, 2023
a8661e7
Merge pull request #167 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 18, 2023
0e9e57a
Merge pull request #166 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 18, 2023
b3fab4f
Bump libraries-bom from 26.18.0 to 26.19.0
dependabot[bot] Jul 19, 2023
0100338
Merge pull request #168 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 19, 2023
443d671
Bump com.google.cloud:google-cloud-bigquerystorage from 2.40.1 to 2.41.0
dependabot[bot] Jul 25, 2023
951731a
Bump com.google.cloud:google-cloud-bigquery from 2.30.1 to 2.31.0
dependabot[bot] Jul 25, 2023
c0e1725
Merge pull request #169 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 25, 2023
9f8eb6f
Merge pull request #170 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 25, 2023
8430153
Bump com.google.cloud:libraries-bom from 26.19.0 to 26.20.0
dependabot[bot] Jul 28, 2023
75e51f4
Merge pull request #171 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Jul 28, 2023
2e08f22
Bump com.google.cloud:libraries-bom from 26.20.0 to 26.21.0
dependabot[bot] Aug 1, 2023
d574c7f
Merge pull request #172 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Aug 1, 2023
9a958b1
Bump com.google.cloud:google-cloud-bigquerystorage from 2.41.0 to 2.41.1
dependabot[bot] Aug 9, 2023
96ca8e9
Bump com.google.cloud:google-cloud-bigquery from 2.31.0 to 2.31.1
dependabot[bot] Aug 9, 2023
594b539
Merge pull request #174 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Aug 9, 2023
7408ab7
Merge pull request #175 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Aug 9, 2023
1915111
Bump liquibase.version from 4.23.0 to 4.23.1
dependabot[bot] Aug 10, 2023
c05b277
Merge pull request #176 from liquibase/dependabot/maven/liquibase.ver…
github-actions[bot] Aug 10, 2023
7d905a1
Bump info.picocli:picocli from 4.7.4 to 4.7.5
dependabot[bot] Aug 28, 2023
e3a88f0
Merge pull request #178 from liquibase/dependabot/maven/info.picocli-…
github-actions[bot] Aug 28, 2023
fe8d96c
feat(build-nightly.yml): add a workflow to build the extension nightl…
jandroav Sep 1, 2023
9ff8461
Bump com.google.cloud:google-cloud-bigquery from 2.31.1 to 2.31.2
dependabot[bot] Sep 5, 2023
531a705
Merge pull request #179 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 5, 2023
bd6b87c
Bump liquibase.version from 4.23.1 to 4.23.2
dependabot[bot] Sep 12, 2023
5c33475
Merge pull request #180 from liquibase/dependabot/maven/liquibase.ver…
github-actions[bot] Sep 12, 2023
0aa93e6
Bump com.google.cloud:libraries-bom from 26.21.0 to 26.23.0
dependabot[bot] Sep 14, 2023
f5be729
Bump com.google.cloud:google-cloud-bigquerystorage from 2.41.1 to 2.42.0
dependabot[bot] Sep 14, 2023
4f2a8e0
Bump org.sonarsource.scanner.maven:sonar-maven-plugin
dependabot[bot] Sep 14, 2023
8799801
Bump com.google.cloud:google-cloud-bigquery from 2.31.2 to 2.32.0
dependabot[bot] Sep 14, 2023
ef9aacc
Merge pull request #181 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 14, 2023
b88f01d
Merge pull request #182 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 14, 2023
a2be13e
Merge pull request #183 from liquibase/dependabot/maven/org.sonarsour…
github-actions[bot] Sep 14, 2023
82d8e24
Merge pull request #184 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 14, 2023
1d9ea91
Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0
dependabot[bot] Sep 15, 2023
f47444e
Merge pull request #185 from liquibase/dependabot/maven/org.apache.ma…
github-actions[bot] Sep 15, 2023
2330c53
Bump com.google.cloud:google-cloud-bigquerystorage from 2.42.0 to 2.43.0
dependabot[bot] Sep 28, 2023
699f33f
Bump com.google.cloud:google-cloud-bigquery from 2.32.0 to 2.33.0
dependabot[bot] Sep 28, 2023
00a2b2e
Merge pull request #189 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 28, 2023
cc551cd
Merge pull request #188 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 28, 2023
b905854
Bump com.google.cloud:google-cloud-bigquery from 2.33.0 to 2.33.1
dependabot[bot] Sep 29, 2023
3d408b1
Merge pull request #190 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Sep 29, 2023
368e56d
Bump com.google.cloud:libraries-bom from 26.23.0 to 26.24.0
dependabot[bot] Oct 2, 2023
fde9cc9
Merge pull request #192 from liquibase/dependabot/maven/com.google.cl…
github-actions[bot] Oct 2, 2023
99a83e0
Bump liquibase.version from 4.23.2 to 4.24.0
dependabot[bot] Oct 3, 2023
bb20a2e
Merge pull request #193 from liquibase/dependabot/maven/liquibase.ver…
filipelautert Oct 4, 2023
9beb2ed
Use a --changeLogFile arg in docs that works with generateChangeLog (…
Oct 4, 2023
135832d
Fix 4.24.0 protected method changes (#194)
filipelautert Oct 4, 2023
372b97c
Update README.md
kevin-atx Oct 6, 2023
4055206
chore(pom.xml): remove unnecessary dependencies and plugins to simpli…
jandroav Oct 10, 2023
a0d708a
chore(pom.xml): update liquibase-bigquery version from 0-SNAPSHOT to …
jandroav Oct 10, 2023
fcf7f65
chore(attach-artifact-release.yml): add workflow to attach artifact t…
jandroav Oct 10, 2023
c1b005c
chore(ci-report.yml): remove ci-report workflow file
jandroav Oct 10, 2023
eadafc6
chore(pom.xml): add sonar.tests property to specify the location of t…
jandroav Oct 10, 2023
f0f36a7
chore(pom.xml): update liquibase-parent-pom version to 0.2.2
jandroav Oct 11, 2023
a7d7244
Merge pull request #195 from liquibase/DAT-15998
jandroav Oct 11, 2023
4e80f29
feat(release-drafter.yml): add release drafter configuration file
jandroav Oct 11, 2023
69c6828
Merge branch 'main' into DAT-15998
jandroav Oct 11, 2023
1b980c8
Merge pull request #196 from liquibase/DAT-15998
jandroav Oct 11, 2023
c7ea313
chore(attach-artifact-release.yml): update liquibase/build-logic exte…
jandroav Oct 20, 2023
57e37dd
fix(pom.xml): update systemPath for GoogleBigQueryJDBC42 dependency t…
jandroav Oct 20, 2023
8a2c183
chore: update liquibase/build-logic workflows to v0.5.2
jandroav Oct 20, 2023
2eb940d
chore(attach-artifact-release.yml): update file separator in extraCom…
jandroav Oct 20, 2023
b51f7a4
chore(workflows): update extraCommand in attach-artifact-release.yml,…
jandroav Oct 20, 2023
61fd4bc
chore(workflows): update paths to GoogleBigQueryJDBC42.jar in workflo…
jandroav Oct 20, 2023
45bd5d3
Merge pull request #205 from liquibase/fix-nightly-builds
jandroav Oct 20, 2023
20795c8
chore(create-release.yml): add extraCommand to install GoogleBigQuery…
jandroav Oct 20, 2023
2b768f9
Merge branch 'main' into fix-nightly-builds
jandroav Oct 20, 2023
9c277c7
chore(pom.xml): update liquibase-maven-plugin version to 4.24.0 for c…
jandroav Oct 20, 2023
8983b89
Merge branch 'fix-nightly-builds' of https://github.com/liquibase/liq…
jandroav Oct 20, 2023
faa7653
Merge pull request #206 from liquibase/fix-nightly-builds
jandroav Oct 20, 2023
bf5b2fd
chore: update liquibase/build-logic workflows to v0.5.5
jandroav Oct 26, 2023
95e8fdf
Merge pull request #209 from liquibase/DAT-16149
jandroav Oct 26, 2023
ac9f3d5
chore(build-nightly.yml): add support for multiple Java versions (11,…
jandroav Oct 26, 2023
64f1b44
chore(deps): bump org.liquibase:liquibase-parent-pom from 0.2.6 to 0.…
dependabot[bot] Nov 15, 2023
14b579b
Liquibase 4.25.0
filipelautert Nov 15, 2023
5480bc1
Liquibase 4.25.0 (#219)
filipelautert Nov 15, 2023
31ef413
[maven-release-plugin] prepare release liquibase-bigquery-4.25.0
liquibot Nov 15, 2023
ffe72ea
[maven-release-plugin] prepare for next development iteration
liquibot Nov 15, 2023
6066144
adding dependabot
jandroav Nov 20, 2023
8c53aca
Merge branch 'main' into DAT-16285
jandroav Nov 20, 2023
98d2f35
adding dependabot
jandroav Nov 20, 2023
948915f
build status check
jandroav Nov 20, 2023
d4df068
Merge pull request #221 from liquibase/DAT-16285
jandroav Nov 20, 2023
33017cc
Update attach-artifact-release.yml
jandroav Dec 18, 2023
bfe6412
chore(deps): bump com.google.cloud:google-cloud-bigquerystorage (#226)
dependabot[bot] Dec 19, 2023
3209263
chore(deps): bump org.apache.maven.surefire:surefire-junit4 (#229)
dependabot[bot] Dec 19, 2023
f5ad230
chore(deps): bump com.google.cloud:libraries-bom from 26.24.0 to 26.2…
dependabot[bot] Dec 19, 2023
d83b896
chore(deps): bump com.google.cloud:google-cloud-bigquery (#225)
dependabot[bot] Dec 19, 2023
dceca8d
chore(deps): bump org.liquibase:liquibase-parent-pom from 0.3.2 to 0.…
dependabot[bot] Dec 19, 2023
56a2fda
Update liquibase.version to 4.25.1
liquibot Dec 20, 2023
35cb81c
[maven-release-plugin] prepare release liquibase-bigquery-4.25.1
liquibot Dec 20, 2023
f1f0ef6
[maven-release-plugin] prepare for next development iteration
liquibot Dec 20, 2023
13b2c36
[maven-release-plugin] prepare release liquibase-bigquery-4.26.0
liquibot Jan 4, 2024
275690d
[maven-release-plugin] prepare for next development iteration
liquibot Jan 4, 2024
8a871c6
feat(codeql.yml): add CodeQL workflow for continuous code analysis
jandroav Jan 16, 2024
084cc8e
Merge pull request #235 from liquibase/DAT-15853
jandroav Jan 16, 2024
d46a628
chore(codeql.yml): update codeql.yml to use version v0.6.1 of liquiba…
jandroav Jan 16, 2024
5971ac2
fix: Returns raw table name as it was prior to Liquibase 4.24.0 (#243)
filipelautert Jan 31, 2024
69819eb
DAT-16339: run test harness for BigQuery (#238)
sayaliM0412 Feb 2, 2024
60318c1
DAT-16831 (#246)
sayaliM0412 Feb 6, 2024
db21e74
Update liquibase.version to 4.26.0
liquibot Feb 8, 2024
843e77f
[maven-release-plugin] prepare release liquibase-bigquery-4.26.0
liquibot Feb 9, 2024
d946498
[maven-release-plugin] prepare for next development iteration
liquibot Feb 9, 2024
02640e2
fix: Snapshot generators should only apply when executing in a BigQue…
filipelautert Feb 27, 2024
cb753bc
Enable all test harness levels
filipelautert Mar 7, 2024
f2633cb
fix: commas
filipelautert Mar 7, 2024
c8ebd8e
fix: commas
filipelautert Mar 7, 2024
b2c58c0
chore(deps): bump org.liquibase:liquibase-parent-pom from 0.3.4 to 0.…
dependabot[bot] Mar 13, 2024
6071602
feat: add pro dbclh table support
filipelautert Mar 8, 2024
9e14e8e
feat: add pro dbclh table support
filipelautert Mar 8, 2024
1035c89
feat: add pro dbclh table support
filipelautert Mar 8, 2024
65777f8
feat: make sure that DATABASECHANGELOGHISTORY is upper case. If the t…
filipelautert Mar 11, 2024
0955f1e
fix: make sure that DATABASECHANGELOGHISTORY is upper case. If the ta…
filipelautert Mar 12, 2024
cfb847c
fix: Bigquery escapes quotes using slash quote, and not quote quote.
filipelautert Mar 13, 2024
00fa867
fix: handle string with line breaks
filipelautert Mar 13, 2024
ce0400c
fix: extends default VarcharType from core so we don't miss basic fun…
filipelautert Mar 14, 2024
2cc5fbd
first files
tatibeans Mar 15, 2024
ff3e572
Not testing contributed yet
filipelautert Mar 15, 2024
7f0a720
added initSql scripts and missing changelogs
tatibeans Mar 15, 2024
0c13a1c
Merge pull request #260 from liquibase/DAT-16737
suryaaki2 Mar 18, 2024
cab7717
chore(deps): bump org.liquibase:liquibase-parent-pom from 0.3.6 to 0.…
dependabot[bot] Mar 26, 2024
c63c3b3
Update liquibase.version to 4.27.0
liquibot Mar 28, 2024
dce9e45
[maven-release-plugin] prepare release liquibase-bigquery-4.27.0
liquibot Mar 28, 2024
ad9d281
[maven-release-plugin] prepare for next development iteration
liquibot Mar 28, 2024
0276295
Update liquibase.version to 4.27.0
liquibot Mar 29, 2024
b708f7c
[maven-release-plugin] prepare release liquibase-bigquery-4.27.0
liquibot Mar 29, 2024
c746a4e
[maven-release-plugin] rollback the release of liquibase-bigquery-4.27.0
liquibot Mar 29, 2024
7486662
fix: extension v4.27.0.1 (#270)
filipelautert Apr 1, 2024
f98bd30
Update buld-actions version (#267)
sayaliM0412 Apr 1, 2024
d9c783a
[maven-release-plugin] prepare release liquibase-bigquery-4.27.0.1
liquibot Apr 1, 2024
4928b61
[maven-release-plugin] prepare for next development iteration
liquibot Apr 1, 2024
b577f50
Update dependabot.yml (#271)
sayaliM0412 Apr 1, 2024
2df78e1
chore(deps): bump liquibase/build-logic from 0.5.9 to 0.6.8 (#273)
dependabot[bot] Apr 1, 2024
2575fce
chore(deps): bump actions/setup-python from 3 to 5 (#276)
dependabot[bot] Apr 1, 2024
8050119
chore(deps): bump test-summary/action from 1 to 2 (#272)
dependabot[bot] Apr 1, 2024
f040c91
chore(deps): bump com.google.http-client:google-http-client (#241)
dependabot[bot] Apr 1, 2024
e5c1cec
chore(deps): bump dorny/test-reporter from 1.6.0 to 1.8.0 (#274)
dependabot[bot] Apr 1, 2024
dcc3eb9
chore(deps): bump liquibase/build-logic from 0.6.8 to 0.6.9 (#280)
dependabot[bot] Apr 3, 2024
6ac90d9
[DAT-17410] enable test-harness (#279)
KushnirykOleh Apr 10, 2024
f746681
chore(deps): bump com.google.api-client:google-api-client-jackson2
dependabot[bot] Apr 10, 2024
80ec4ea
chore(deps): bump com.google.cloud:libraries-bom from 26.29.0 to 26.37.0
dependabot[bot] Apr 11, 2024
27773c7
Merge pull request #282 from liquibase/dependabot/maven/com.google.cl…
KushnirykOleh Apr 11, 2024
07dc034
chore(deps): bump org.liquibase:liquibase-maven-plugin
dependabot[bot] Apr 11, 2024
8e9499e
Merge pull request #268 from liquibase/dependabot/maven/org.liquibase…
KushnirykOleh Apr 11, 2024
952b3b6
Merge branch 'main' into dependabot/maven/com.google.api-client-googl…
KushnirykOleh Apr 11, 2024
3b380ba
removed automerge as it fails the builds
KushnirykOleh Apr 11, 2024
82fb850
Merge pull request #263 from liquibase/dependabot/maven/com.google.ap…
KushnirykOleh Apr 11, 2024
ca9689c
Merge branch 'main' into remove_automerge
KushnirykOleh Apr 11, 2024
aac4e99
Merge pull request #286 from liquibase/remove_automerge
KushnirykOleh Apr 11, 2024
84e2320
chore(deps): bump actions/checkout from 3 to 4
dependabot[bot] Apr 11, 2024
e0ad141
Merge pull request #278 from liquibase/dependabot/github_actions/acti…
KushnirykOleh Apr 12, 2024
bb647f4
chore(deps): bump whelk-io/maven-settings-xml-action from 21 to 22
dependabot[bot] Apr 12, 2024
bb322f1
Merge pull request #277 from liquibase/dependabot/github_actions/whel…
KushnirykOleh Apr 12, 2024
8f84224
chore(deps): bump com.google.cloud:google-cloud-bigquery
dependabot[bot] Apr 12, 2024
84649f7
Merge pull request #264 from liquibase/dependabot/maven/com.google.cl…
KushnirykOleh Apr 12, 2024
a50edff
chore(deps): bump dorny/test-reporter from 1.8.0 to 1.9.0
dependabot[bot] Apr 12, 2024
6a1246e
chore(test-harness.yml): add action-workflow-queue step to manage wor…
jandroav Apr 12, 2024
0e2d243
chore(test-harness.yml): add comment explaining the purpose of the ac…
jandroav Apr 12, 2024
a56e4f4
chore(test-harness.yml): add timeout configuration of 30 minutes to p…
jandroav Apr 12, 2024
57aacf4
chore(test-harness.yml): add delay parameter to workflow queue action…
jandroav Apr 12, 2024
3b8fbc0
Merge pull request #283 from liquibase/dependabot/github_actions/dorn…
KushnirykOleh Apr 12, 2024
f2e7a26
chore(test-harness.yml): update timeout value to 3000000 milliseconds…
jandroav Apr 12, 2024
eb437a8
Merge branch 'main' into DAT-17463
jandroav Apr 12, 2024
3f59a5f
chore(deps): bump liquibase/build-logic from 0.6.9 to 0.7.0
dependabot[bot] Apr 12, 2024
98ec820
Merge pull request #288 from liquibase/dependabot/github_actions/liqu…
KushnirykOleh Apr 15, 2024
3f4e6b8
Merge branch 'main' into DAT-17463
jandroav Apr 15, 2024
d4bf5e5
added foundational IT, disabled paralel IT tests run
KushnirykOleh Apr 15, 2024
858f215
fixed indentation
KushnirykOleh Apr 15, 2024
957b586
Merge pull request #287 from liquibase/DAT-17463
KushnirykOleh Apr 15, 2024
f9d19e9
merged main
PavloTytarchuk Apr 15, 2024
096c4f9
DAT-17183. add Advanced test for BigQuery. WIP.
PavloTytarchuk Apr 16, 2024
9884fd7
DAT-17183. added advanced test to the CI/CD. WIP.
PavloTytarchuk Apr 16, 2024
aac3f08
DAT-17183. removed redundant changelogs
PavloTytarchuk Apr 16, 2024
872e4c4
Add .github/workflows/fossa.yml
liquibot Apr 16, 2024
ab899a0
Merge branch 'main' into DAT-17183
PavloTytarchuk Apr 17, 2024
7ce3ae9
DAT-17183. removed redundant files
PavloTytarchuk Apr 17, 2024
88d2c07
Merge pull request #290 from liquibase/DAT-17183
PavloTytarchuk Apr 17, 2024
af8f2d6
chore(deps): bump liquibase/build-logic from 0.7.0 to 0.7.1
dependabot[bot] Apr 17, 2024
ae0f22b
Merge pull request #289 from liquibase/dependabot/github_actions/liqu…
KushnirykOleh Apr 18, 2024
ba6d944
Add .github/workflows/fossa.yml
liquibot Apr 18, 2024
79bebf7
Add .github/workflows/fossa_ai.yml
liquibot Apr 18, 2024
c854f20
Preparing to merge to master
filipelautert Apr 23, 2024
872280c
Preparing to merge to master
filipelautert Apr 23, 2024
25cb886
Integrating Bigquery into liquibase
filipelautert Apr 23, 2024
7e21d55
chore: removing github directory from module
filipelautert Apr 23, 2024
5f26e98
chore: convert bigquery to a module.
filipelautert Apr 23, 2024
4fcd2e9
chore: remove test-harness as it will be moved to test-harness project
filipelautert Apr 23, 2024
b9196fc
chore: convert bigquery to a module.
filipelautert Apr 23, 2024
2ff7be9
chore: include it into liquibase-core jar
filipelautert Apr 23, 2024
34f1f68
chore: rename packages
filipelautert Apr 23, 2024
0b4c0a0
chore: removing test-harness resources
filipelautert Apr 24, 2024
27b98e4
chore: dependency hell fixing
filipelautert Apr 24, 2024
1b66a18
chore: add Bigquery specific tests.
filipelautert Apr 24, 2024
935585d
Merge branch 'master' into DAT-17482
filipelautert Apr 24, 2024
0c8c4b3
fix: adding missed supports methods in BigQuery generators
Apr 24, 2024
6505ffe
chore: codeql + sonar fixes
Apr 24, 2024
96a5b19
chore: codeql + sonar fixes
Apr 24, 2024
1b469e0
chore: fix dependencies
Apr 24, 2024
a9d7fd3
chore:rollback dependencies
Apr 24, 2024
0942b3e
chore:fix sonar critical alerts
Apr 24, 2024
d3bda83
chore: fix some sonar medium alerts
Apr 24, 2024
6af6037
chore: add Bigquery specific tests comments
filipelautert Apr 25, 2024
f3f5f4a
Merge branch 'master' into DAT-17482
filipelautert Apr 25, 2024
423dee3
fix: re-add required method
filipelautert Apr 25, 2024
1d2ab27
fix: Bigquery getpriority not working after merging to core
filipelautert May 1, 2024
593cbd9
fix: implement new Supports method
filipelautert May 1, 2024
790ffcb
chore: removed fake useless sql.
filipelautert May 1, 2024
26cacfa
chore: renamed all occurrences of Bigquery to BigQuery
filipelautert May 1, 2024
eb754c6
chore: renamed all occurrences of Bigquery to BigQuery - fix imports
filipelautert May 1, 2024
ce7666c
chore: codeql
filipelautert May 1, 2024
67eec97
Merge branch 'master' into DAT-17482
filipelautert May 1, 2024
cded54b
fix: handle default location
filipelautert May 1, 2024
6c2809a
[DAT-17450] Add BigQuery unit tests (#5896)
vitaliimak May 9, 2024
c971772
added FK support
KushnirykOleh May 13, 2024
42b380f
resolved priorities for Datatypes and ModifyDatatype generator
KushnirykOleh May 14, 2024
d6a9dfe
cut tableName from constraintName
KushnirykOleh May 15, 2024
966d051
Merge pull request #5913 from liquibase/DAT-17403
KushnirykOleh May 16, 2024
015f3d1
replaced RawSqlStatement with RawParameterizedSqlStatement
KushnirykOleh May 16, 2024
9f036b0
replaced null by undefined, fixed creating constraints when creating …
KushnirykOleh May 17, 2024
04030d6
Merge pull request #5905 from liquibase/DAT-17502
PavloTytarchuk May 22, 2024
9313a50
[DAT-17501] BigQuerry. Support Primary Key (#5886)
vitaliimak May 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
201 changes: 201 additions & 0 deletions liquibase-bigquery/LICENSE
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
172 changes: 172 additions & 0 deletions liquibase-bigquery/README.md
@@ -0,0 +1,172 @@
# Liquibase Support for Google BigQuery

A Liquibase extension adding support for Google BigQuery.
Include this in your application project to run Liquibase database migration scripts
against a Google BigQuery database.

Try out the [Liquibase + Bigquery with the getting started tutorial](https://contribute.liquibase.com/extensions-integrations/directory/database-tutorials/bigquery/).

## Supported features

The following Liquibase ChangeTypes are supported:

- createTable
- dropTable
- addColumn
- modifyDataType
- addLookupTable
- createView
- dropView

## Limitations

Currently, not supported are:

- constraints
- sequences
- primary and foreign keys
- remarks
- column merging
- auto-increments
- check constraints
- indexes
- triggers

## Getting started

### Installing and setting up liquibase

Download and install liquibase from
[here](https://docs.liquibase.com/install/liquibase-windows.html).

### JDBC driver for BigQuery

You will also need JDBC driver for BigQuery.
BigQuery documentation will redirect you to where you can
[download](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers)
supported JDBC/ODBC drivers

Click JDBC 4.2-compatible to start downloading the corresponding zip file.
When you unzip it you will find quite some number of jars and one of them,
named GoogleBigQueryJDBC42.jar,
will represent our BigQuery JDBC driver.
Add files from the archive to the liquibase lib directory.

### Liquibase BigQuery extension

Before building the extension be sure to locally install the Simba driver as follows:

```bash
mvn install:install-file -Dfile=lib/GoogleBigQueryJDBC42.jar -DgroupId=com.simba.googlebigquery.jdbc -DartifactId=GoogleBigQueryJDBC42 -Dversion=4.2 -Dpackaging=jar
````

Build this project with `mvn` or download the jar file
corresponding to the latest release and put it
into `liquibase/lib` lib directory.

### Starting BigQuery dataset

You can create a BigQuery dataset in the GCP console, use terraform or bq client.

### Test your connection

Give the extension temporary use of your BigQuery user credentials for API access
by running the following gcloud command:

```sh
gcloud auth application-default login
```

### Create configuration file

Configure the connection in the file `liquibase.properties`

```properties
driver:
url:
logLevel:
```

url represents JDBC connection string.
After the official documentation the following is the format of the
connection URL for the Simba Google BigQuery JDBC Connector:

`jdbc:bigquery://[Host]:[Port];ProjectId=[Project];OAuthType= [AuthValue];
[Property1]=[Value1];[Property2]=[Value2];…`

where:

- [Host] - is the DNS or IP address of the server.
Set it to `https://www.googleapis.com/bigquery/v2`
- [Port] - is the number of the TCP port to connect to. Set it to 443.
- [Project] - is the id of your BigQuery project.
- [AuthValue] - is a number that specifies the type of authentication
used by the connector.

The Simba Google BigQuery JDBC Connector uses the OAuth 2.0 protocol
for authentication and authorization.
It authenticates your connection through Google OAuth APIs.
You can configure the connector to provide your credentials
and authenticate the connection to the database using one of the
following methods:

- Using a Google User Account
- Using a Google Service Account
- Using Pre-Generated Access and Refresh Tokens
- Using Application Default Credentials

Example shows authentication using Google Service Account

```properties
driver: com.simba.googlebigquery.jdbc.Driver
url: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=<PROJECT_ID>;\
DefaultDataset=<DATASET_ID>;OAuthType=0;OAuthServiceAcctEmail=<SA_ACCOUNT>;\
OAuthPvtKeyPath=<PATH_TO_KEY_FOR_SA>;
logLevel: WARN
```

### Run

- updating the database schema

```shell
liquibase --changeLogFile=changelog.bigquery.sql update
```

- generating the schema from current database state

More detailed instructions for getting started can be found
[here](https://medium.com/google-cloud/version-control-of-bigquery-schema-changes-with-liquibase-ddc7092d6d1d)

## Using the Liquibase Test Harness in BigQuery Extension

### Configuring the project

Fill in `harness-config.yml` in `src/test/resources` directory.

### Executing with maven

Build project without tests

```sh
mvn package -DskipTests
```

To run all harness tests for the extension run

```sh
mvn -Dit.test=LiquibaseHarnessSuiteIT verify
```

To run only subset of tests, add `-DchangeObjects` parameter,
with list of tests that should be included

```sh
mvn -Dit.test=LiquibaseHarnessSuiteIT -DchangeObjects=addLookupTable verify
```

### Executing from IDE

From IDE you can run `src/test/groovy/LiquibaseHarnessSuiteIT` test.
You can narrow down the list of harness tests by specifying `-DchangeObjects`
VM argument in Run Configuration.
19 changes: 19 additions & 0 deletions liquibase-bigquery/bigquery.sql
@@ -0,0 +1,19 @@
--liquibase formatted sql

--changeset myuser:create-a-table

create table liquibase_test_harness.dim_channels
(
dim_channel_key smallint,
channel_name STRING(40),
channel_type STRING(40) NOT NULL,
channel_sub_type STRING(40) NOT NULL,
storing_order integer NOT NULL,
channel_display_name STRING(40) NOT NULL,
channel_code STRING(40) NOT NULL,
created_date timestamp, ##Note that a TIMESTAMP itself does not have a time zone
last_modified_date timestamp,
oem_owner STRING(40) NOT NULL,
publisher STRING(40) NOT NULL
)
;