Export main() of sea-orm-cli (#1889) (#2034)

* Export main() of sea-orm-cli (#1889)

* Fix compile error: require "codegen" feature for main()
This commit is contained in:
Dmitrii Aleksandrov 2024-01-12 18:43:13 +04:00 committed by GitHub
parent a73f699578
commit e3c94a7708
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 58 deletions

View File

@ -1,32 +1,4 @@
use clap::Parser;
use dotenvy::dotenv;
use sea_orm_cli::{handle_error, run_generate_command, run_migrate_command, Cli, Commands};
#[async_std::main]
async fn main() {
dotenv().ok();
let cli = Cli::parse();
let verbose = cli.verbose;
match cli.command {
Commands::Generate { command } => {
run_generate_command(command, verbose)
.await
.unwrap_or_else(handle_error);
}
Commands::Migrate {
migration_dir,
database_schema,
database_url,
command,
} => run_migrate_command(
command,
&migration_dir,
database_schema,
database_url,
verbose,
)
.unwrap_or_else(handle_error),
}
sea_orm_cli::main().await
}

View File

@ -1,34 +1,6 @@
//! COPY FROM bin/main.rs
use clap::Parser;
use dotenvy::dotenv;
use sea_orm_cli::{handle_error, run_generate_command, run_migrate_command, Cli, Commands};
#[async_std::main]
async fn main() {
dotenv().ok();
let cli = Cli::parse();
let verbose = cli.verbose;
match cli.command {
Commands::Generate { command } => {
run_generate_command(command, verbose)
.await
.unwrap_or_else(handle_error);
}
Commands::Migrate {
migration_dir,
database_schema,
database_url,
command,
} => run_migrate_command(
command,
&migration_dir,
database_schema,
database_url,
verbose,
)
.unwrap_or_else(handle_error),
}
sea_orm_cli::main().await
}

View File

@ -1,4 +1,9 @@
use clap::{ArgGroup, Parser, Subcommand, ValueEnum};
#[cfg(feature = "codegen")]
use dotenvy::dotenv;
#[cfg(feature = "codegen")]
use crate::{handle_error, run_generate_command, run_migrate_command};
#[derive(Parser, Debug)]
#[command(
@ -309,3 +314,34 @@ pub enum DateTimeCrate {
Chrono,
Time,
}
/// Use this to build a local, version-controlled `sea-orm-cli` in dependent projects
/// (see [example use case](https://github.com/SeaQL/sea-orm/discussions/1889)).
#[cfg(feature = "codegen")]
pub async fn main() {
dotenv().ok();
let cli = Cli::parse();
let verbose = cli.verbose;
match cli.command {
Commands::Generate { command } => {
run_generate_command(command, verbose)
.await
.unwrap_or_else(handle_error);
}
Commands::Migrate {
migration_dir,
database_schema,
database_url,
command,
} => run_migrate_command(
command,
&migration_dir,
database_schema,
database_url,
verbose,
)
.unwrap_or_else(handle_error),
}
}