MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / run_migrate

Function run_migrate

sea-orm-migration/src/cli.rs:54–104  ·  view source on GitHub ↗
(
    _: M,
    db: &DbConn,
    command: Option<MigrateSubcommands>,
    verbose: bool,
)

Source from the content-addressed store, hash-verified

52}
53
54pub async fn run_migrate<M>(
55 _: M,
56 db: &DbConn,
57 command: Option<MigrateSubcommands>,
58 verbose: bool,
59) -> Result<(), Box<dyn Error>>
60where
61 M: MigratorTrait,
62{
63 let filter = match verbose {
64 true => "debug",
65 false => "sea_orm_migration=info",
66 };
67
68 let filter_layer = EnvFilter::try_new(filter).unwrap();
69
70 if verbose {
71 let fmt_layer = tracing_subscriber::fmt::layer();
72 tracing_subscriber::registry()
73 .with(filter_layer)
74 .with(fmt_layer)
75 .init()
76 } else {
77 let fmt_layer = tracing_subscriber::fmt::layer()
78 .with_target(false)
79 .with_level(false)
80 .without_time();
81 tracing_subscriber::registry()
82 .with(filter_layer)
83 .with(fmt_layer)
84 .init()
85 };
86
87 match command {
88 Some(MigrateSubcommands::Fresh) => M::fresh(db).await?,
89 Some(MigrateSubcommands::Refresh) => M::refresh(db).await?,
90 Some(MigrateSubcommands::Reset) => M::reset(db).await?,
91 Some(MigrateSubcommands::Status) => M::status(db).await?,
92 Some(MigrateSubcommands::Up { num }) => M::up(db, num).await?,
93 Some(MigrateSubcommands::Down { num }) => M::down(db, Some(num)).await?,
94 Some(MigrateSubcommands::Init) => run_migrate_init(MIGRATION_DIR)?,
95 Some(MigrateSubcommands::Generate {
96 migration_name,
97 universal_time: _,
98 local_time,
99 }) => run_migrate_generate(MIGRATION_DIR, &migration_name, !local_time)?,
100 _ => M::up(db, None).await?,
101 };
102
103 Ok(())
104}
105
106#[derive(Parser)]
107#[command(version)]

Callers 1

run_cli_with_connectionFunction · 0.85

Calls 5

run_migrate_initFunction · 0.85
run_migrate_generateFunction · 0.85
unwrapMethod · 0.80
resetFunction · 0.50
initMethod · 0.45

Tested by

no test coverage detected