pub struct MigrationManager { /* private fields */ }
Expand description
Migration manager for handling data import/export operations
Implementations§
Source§impl MigrationManager
impl MigrationManager
Sourcepub fn import_csv<P: AsRef<Path>>(&self, file_path: P) -> CsvImportBuilder
pub fn import_csv<P: AsRef<Path>>(&self, file_path: P) -> CsvImportBuilder
Import data from a CSV file
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let migration = client.migration()
.import_csv("data.csv")
.to_database("my-app-db")
.to_table("users")
.with_delimiter(',')
.with_headers(true)
.execute()
.await?;
println!("Migration ID: {}", migration.id);
Ok(())
}
Sourcepub fn import_json<P: AsRef<Path>>(&self, file_path: P) -> JsonImportBuilder
pub fn import_json<P: AsRef<Path>>(&self, file_path: P) -> JsonImportBuilder
Import data from a JSON file
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let migration = client.migration()
.import_json("data.json")
.to_database("my-app-db")
.to_table("products")
.execute()
.await?;
println!("Migration ID: {}", migration.id);
Ok(())
}
Sourcepub fn export_csv<P: AsRef<Path>>(&self, file_path: P) -> CsvExportBuilder
pub fn export_csv<P: AsRef<Path>>(&self, file_path: P) -> CsvExportBuilder
Export data to a CSV file
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let migration = client.migration()
.export_csv("users.csv")
.from_database("my-app-db")
.from_table("users")
.with_delimiter(',')
.with_headers(true)
.execute()
.await?;
println!("Export completed: {}", migration.id);
Ok(())
}
Sourcepub fn export_json<P: AsRef<Path>>(&self, file_path: P) -> JsonExportBuilder
pub fn export_json<P: AsRef<Path>>(&self, file_path: P) -> JsonExportBuilder
Export data to a JSON file
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let migration = client.migration()
.export_json("products.json")
.from_database("my-app-db")
.from_table("products")
.execute()
.await?;
println!("Export completed: {}", migration.id);
Ok(())
}
Sourcepub async fn status<S: AsRef<str>>(
&self,
migration_id: S,
) -> Result<MigrationStatus>
pub async fn status<S: AsRef<str>>( &self, migration_id: S, ) -> Result<MigrationStatus>
Get migration status
§Arguments
migration_id
- Migration ID
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let status = client.migration().status("migration-123").await?;
println!("Migration status: {:?}", status.status);
println!("Progress: {}/{}", status.records_processed, status.total_records.unwrap_or(0));
Ok(())
}
Sourcepub async fn list(&self) -> Result<Vec<MigrationStatus>>
pub async fn list(&self) -> Result<Vec<MigrationStatus>>
List all migrations
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
let migrations = client.migration().list().await?;
for migration in migrations {
println!("Migration {}: {:?}", migration.id, migration.status);
}
Ok(())
}
Sourcepub async fn cancel<S: AsRef<str>>(&self, migration_id: S) -> Result<()>
pub async fn cancel<S: AsRef<str>>(&self, migration_id: S) -> Result<()>
Cancel a running migration
§Arguments
migration_id
- Migration ID
§Examples
use zero_trust_sdk::{ZeroTrustClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::new("https://api.zerotrust.com")?
.with_token("your-jwt-token");
let client = ZeroTrustClient::new(config).await?;
client.migration().cancel("migration-123").await?;
println!("Migration cancelled");
Ok(())
}
Trait Implementations§
Source§impl Clone for MigrationManager
impl Clone for MigrationManager
Source§fn clone(&self) -> MigrationManager
fn clone(&self) -> MigrationManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for MigrationManager
impl !RefUnwindSafe for MigrationManager
impl Send for MigrationManager
impl Sync for MigrationManager
impl Unpin for MigrationManager
impl !UnwindSafe for MigrationManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more