Ich habe einen Spring-Boot-Mikroservice erstellt, der Aggregation in einem Datenstrom ausführt und in verschiedene Cassandra-Tabellen schreibt. Ich suche nach einer Java-Bibliothek ähnlich Flyway, die Cassandra-Schema mit der Existenz eines Skripts in einem Ressourcenordner migrieren wird. Hat jemand Empfehlungen, vorzugsweise für eine Bibliothek, die Sie persönlich in der Produktion verwendet haben?Cassandra-Migrationsbibliothek in Java
0
A
Antwort
0
benutzte ich builtamont:
<dependency>
<groupId>com.builtamont</groupId>
<artifactId>cassandra-migration</artifactId>
<version>0.9</version>
</dependency>
Migration in Code:
import com.builtamont.cassandra.migration.CassandraMigration;
import com.builtamont.cassandra.migration.api.configuration.KeyspaceConfiguration;
import org.springframework.beans.factory.InitializingBean;
class CassandraDataSourceMigration implements InitializingBean {
private final String ip;
private final String clusterName;
private final Integer port;
private final String keyspaceName;
private final String migrationsPath;
public CassandraDataSourceMigration(String ip, String clusterName, Integer port, String keyspaceName, String migrationsPath) {
this.ip = ip;
this.clusterName = clusterName;
this.port = port;
this.keyspaceName = keyspaceName;
this.migrationsPath = migrationsPath;
}
// getters/setters
@Override
public void afterPropertiesSet() throws Exception {
final KeyspaceConfiguration keyspaceConfig = new KeyspaceConfiguration();
keyspaceConfig.setName(keyspaceName);
keyspaceConfig.getClusterConfig().setContactpoints(new String[]{ip});
if (port != null) {
keyspaceConfig.getClusterConfig().setPort(port);
}
final CassandraMigration migrationProcessor = new CassandraMigration();
migrationProcessor.setLocations(new String[]{migrationsPath});
migrationProcessor.setKeyspaceConfig(keyspaceConfig);
migrationProcessor.migrate();
}
}
application.properties
cassandra.ip=127.0.0.1
cassandra.cluster=My cluster
cassandra.keyspace=saya
cassandra.migration=classpath:db/migration
cassandra.port=9042
Und das Migrationsskript unter Ressourcen/db/Migration V1_0__Init_table.cql
Verwandte Themen
- 1. Java-Implementierung in Java
- 2. JAVA: Schriftgröße in Java ändern
- 3. Java-Streams in Java 7
- 4. Java Multiple Vergleich in Java
- 5. Parse in Java zugänglich in Java
- 6. Synchronisation in Java - Denken in Java Beispiel
- 7. in Java
- 8. in Java
- 9. in DBObject in Java
- 10. Messzeit in Java JNI (nativer Aufruf Java)
- 11. Bring externe Java-Dateistruktur in Java-Programm
- 12. Java: Methoden wie ord PHP in Java
- 13. Convert Java 8-Funktion in Java 1.5
- 14. Java-Funktionen in Java serialisieren 8
- 15. Java SNIServerName Unterstützung in Java 7
- 16. Java - Gibt es einen Sink in Java?
- 17. Convert Java Servlet in Standalone-Java-Anwendung
- 18. Java instanziiert Short-Objekt in Java
- 19. Worin liegt die Diskrepanz in Java-Versionen: Java 6 (in Terminal, Eclipse) und Java 7 (in Java Control Panel)?
- 20. 2D-Vektoren in Java bekommen vage Ausgabe in Java
- 21. Cant einen Standardpfad in Java wählen, wenn ImageIcon in Java
- 22. Verwenden Sie Java-Rest-Java-Client-Java-Bibliothek in Java/Gradle/Groovy?
- 23. Muster in Java
- 24. Kademlia Implementierung in Java
- 25. Dienstleister Rahmen in Java
- 26. Nicht in Datei java
- 27. Telnet vbs in Java
- 28. SSL-Handshake in Java
- 29. Implantierung Assoziationsklasse in Java
- 30. Verschachtelungsersteller Musterklassen in Java
vielleicht könnten Sie [liquibase Erweiterung] versuchen (https://github.com/liquibase/liquibase-cassandra) – bilak
und vielleicht [Säule] (https://github.com/comeara/pillar) – bilak