blob: 859d91c57ee9b85ad699c13b3b6f07e57a430210 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
//! The `backup` subcommand.
use crate::config::ClientConfig;
use crate::dbgen::{schema_version, DEFAULT_SCHEMA_MAJOR, SCHEMA_MAJORS};
use crate::error::ObnamError;
use structopt::StructOpt;
/// List supported backup schema versions.
#[derive(Debug, StructOpt)]
pub struct ListSchemaVersions {
/// List only the default version.
#[structopt(long)]
default_only: bool,
}
impl ListSchemaVersions {
/// Run the command.
pub fn run(&self, _config: &ClientConfig) -> Result<(), ObnamError> {
if self.default_only {
let schema = schema_version(DEFAULT_SCHEMA_MAJOR)?;
println!("{}", schema);
} else {
for major in SCHEMA_MAJORS {
let schema = schema_version(*major)?;
println!("{}", schema);
}
}
Ok(())
}
}
|