Expand description

Run migrations on a CQL database (Casandra or ScyllaDB).

This package is the cdrs-tokio implementation of cqlmig.

Examples

use std::borrow::Borrow;
use cdrs_tokio::cluster::NodeTcpConfigBuilder;
use cdrs_tokio::cluster::session::{SessionBuilder, TcpSessionBuilder};
use cdrs_tokio::load_balancing::RoundRobinLoadBalancingStrategy;
use cqlmig::CqlMigrator;
use cqlmig_cdrs_tokio::CdrsDbSession;

let cluster_config = NodeTcpConfigBuilder::new()
    .with_contact_points(vec!["localhost:9042".to_string().into()])
    .build()
    .await
    .unwrap();
let tcp_ses = TcpSessionBuilder::new(
     RoundRobinLoadBalancingStrategy::new(),
     cluster_config)
 .build()
 .unwrap();

let ses: CdrsDbSession = tcp_ses.borrow().into();

// Use: CqlMigrator::default().migrate_files(&ses, Path::new("path/to/migrations").into()).await.unwrap();
// Or provider a vec of migrations
CqlMigrator::default().migrate(&ses, vec![]).await.unwrap();

Structs

Row wrapper.
Session wrapper.
Entrypoint / builder for running migrations.
A migration to be applied.
Migration version.

Type Definitions

A db session.