mirror of
https://github.com/google/nomulus.git
synced 2025-04-29 19:47:51 +02:00
Document alternative method to deploy schema
This commit is contained in:
parent
deada2aaee
commit
5df9a2e4aa
1 changed files with 44 additions and 2 deletions
46
db/README.md
46
db/README.md
|
@ -55,7 +55,7 @@ following steps:
|
||||||
one. The generated SQL file from the previous step should help. New create
|
one. The generated SQL file from the previous step should help. New create
|
||||||
table statements can be used as is, whereas alter table statements should be
|
table statements can be used as is, whereas alter table statements should be
|
||||||
written to change any existing tables.
|
written to change any existing tables.
|
||||||
|
|
||||||
Note that each incremental file MUST be limited to changes to a single
|
Note that each incremental file MUST be limited to changes to a single
|
||||||
table (otherwise it may hit deadlock when applying on sandbox/production
|
table (otherwise it may hit deadlock when applying on sandbox/production
|
||||||
where it'll be competing against live traffic that may also be locking said
|
where it'll be competing against live traffic that may also be locking said
|
||||||
|
@ -218,7 +218,49 @@ To test unsubmitted schema changes in the alpha or crash environments, use the
|
||||||
following command to deploy the local schema,
|
following command to deploy the local schema,
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./nom_build :db:flywayMigrate --dbServer=[alpha|crash] --environment=[alpha|crash]
|
./nom_build :db:flywayMigrate --dbServer=[alpha|crash] \
|
||||||
|
--environment=[alpha|crash]
|
||||||
|
```
|
||||||
|
|
||||||
|
If you run into problems due to incompatible dependency versions, you may try
|
||||||
|
the dependencies used by our releases:
|
||||||
|
|
||||||
|
```
|
||||||
|
./nom_build :db:flywayMigrate --dbServer=[alpha|crash] \
|
||||||
|
--environment=[alpha|crash] \
|
||||||
|
--mavenUrl=https://storage.googleapis.com/domain-registry-maven-repository/maven \
|
||||||
|
--pluginsUrl=https://storage.googleapis.com/domain-registry-maven-repository/plugins
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Alternative way to push to non-production
|
||||||
|
|
||||||
|
The following method can be used to deploy schema to ALPHA and CRASH
|
||||||
|
environments. Use this only when the Flyway task is broken.
|
||||||
|
|
||||||
|
From the root of the repository:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ TARGET_ENV=[alpha|crash]
|
||||||
|
$ ./nom_build :db:schema
|
||||||
|
$ mkdir -p release/schema-deployer/flyway/jars release/schema-deployer/secrets
|
||||||
|
$ gcloud secrets versions access latest \
|
||||||
|
--secret nomulus-tool-cloudbuild-credential \
|
||||||
|
--project domain-registry-alpha \
|
||||||
|
> release/schema-deployer/secrets/cloud_sql_credential.json
|
||||||
|
$ nomulus -e ${TARGET_ENV} \
|
||||||
|
--credential release/schema-deployer/secrets/cloud_sql_credential.json \
|
||||||
|
get_sql_credential --user schema_deployer \
|
||||||
|
--output release/schema-deployer/secrets/schema_deployer_credential.dec
|
||||||
|
$ cp db/build/libs/schema.jar release/schema-deployer/flyway/jars
|
||||||
|
$ cd release/schema-deployer
|
||||||
|
$ docker build -t schema_deployer .
|
||||||
|
$ docker run -v `pwd`/secrets:/secrets \
|
||||||
|
-v `pwd`/flyway/jars:/flyway/jars -w `pwd` \
|
||||||
|
schema_deployer:latest \
|
||||||
|
migrate
|
||||||
|
$ rm -r -f secrets flyway
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Glass breaking
|
#### Glass breaking
|
||||||
|
|
Loading…
Add table
Reference in a new issue