Skip to content

Commit

Permalink
server: execute liquibase migrations on service startup
Browse files Browse the repository at this point in the history
  • Loading branch information
valldrac committed Oct 16, 2022
1 parent 7ba23ed commit e42fbcb
Showing 1 changed file with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import com.amazonaws.auth.InstanceProfileCredentialsProvider;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.codahale.metrics.jdbi3.strategies.DefaultNameStrategy;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
Expand Down Expand Up @@ -103,6 +104,7 @@
import org.whispersystems.textsecuregcm.limits.RateLimitResetMetricsManager;
import org.whispersystems.textsecuregcm.limits.RateLimiters;
import org.whispersystems.textsecuregcm.limits.UnsealedSenderRateLimiter;
import org.whispersystems.textsecuregcm.liquibase.CloseableLiquibase;
import org.whispersystems.textsecuregcm.liquibase.NameableMigrationsBundle;
import org.whispersystems.textsecuregcm.mappers.DeviceLimitExceededExceptionMapper;
import org.whispersystems.textsecuregcm.mappers.IOExceptionMapper;
Expand Down Expand Up @@ -200,6 +202,7 @@
import org.whispersystems.textsecuregcm.workers.ZkParamsCommand;
import org.whispersystems.websocket.WebSocketResourceProviderFactory;
import org.whispersystems.websocket.setup.WebSocketEnvironment;
import liquibase.Contexts;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.regions.Region;
Expand Down Expand Up @@ -290,6 +293,17 @@ public DistributionStatisticConfig configure(final Id id, final DistributionStat
Jdbi accountJdbi = jdbiFactory.build(environment, config.getAccountsDatabaseConfiguration(), "accountdb");
Jdbi abuseJdbi = jdbiFactory.build(environment, config.getAbuseDatabaseConfiguration(), "abusedb" );

try (final CloseableLiquibase liquibase = new CloseableLiquibase(
config.getAccountsDatabaseConfiguration().build(new MetricRegistry(), "liquibase"),
"accountsdb.xml")) {
liquibase.update(new Contexts());
}
try (final CloseableLiquibase liquibase = new CloseableLiquibase(
config.getAbuseDatabaseConfiguration().build(new MetricRegistry(), "liquibase"),
"abusedb.xml")) {
liquibase.update(new Contexts());
}

FaultTolerantDatabase accountDatabase = new FaultTolerantDatabase("accounts_database", accountJdbi, config.getAccountsDatabaseConfiguration().getCircuitBreakerConfiguration());
FaultTolerantDatabase abuseDatabase = new FaultTolerantDatabase("abuse_database", abuseJdbi, config.getAbuseDatabaseConfiguration().getCircuitBreakerConfiguration());

Expand Down

0 comments on commit e42fbcb

Please sign in to comment.