Skip to main content

Crate cqlmig_cdrs_tokio

Crate cqlmig_cdrs_tokio 

Source
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§

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

Type Aliases§

DbSession
A db session.
GenResult