package migrations.service.uis.V1; import com.contrastsecurity.cassandra.migration.api.JavaMigration; import com.datastax.driver.core.Session; /** * @author krystian. */ public class V1__Initial_UIS implements JavaMigration { @Override public void migrate(Session session) { session.execute( "CREATE TABLE data_providers (\n" + " provider_id text PRIMARY KEY,\n" + " active boolean,\n" + " creation_date timestamp,\n" + " data_sets map<text, text>,\n" + " partition_key int,\n" + " properties map<text, text>\n" + ");\n"); session.execute( "CREATE TABLE cloud_id (\n" + " cloud_id text,\n" + " provider_id text,\n" + " record_id text,\n" + " deleted boolean,\n" + " PRIMARY KEY (cloud_id, provider_id, record_id)\n" + ") WITH CLUSTERING ORDER BY (provider_id ASC, record_id ASC);\n"); session.execute( "CREATE INDEX deleted_records ON cloud_id (deleted);\n"); session.execute( "CREATE TABLE provider_record_id (\n" + " provider_id text,\n" + " record_id text,\n" + " cloud_id text,\n" + " deleted boolean,\n" + " PRIMARY KEY (provider_id, record_id)\n" + ") WITH CLUSTERING ORDER BY (record_id ASC);\n"); session.execute( "CREATE INDEX record_deleted ON provider_record_id (deleted);\n"); } }