/
germanubis
/
sqlx
ΠΠ±Π·ΠΎΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠΎΠΉΡΠΈ
/
germanubis
/
sqlx
ΠΠΎΠ΄
ΠΠ°ΠΏΡΠΎΡΡ
0
ΠΠ°Π΄Π°ΡΠΈ
ΠΠΈΠΊΠΈ
ΠΠ°ΠΊΠ΅ΡΡ
0
Π Π΅Π»ΠΈΠ·Ρ
0
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
v0.5.7
sqlx-cli/src/lib.rs
65 ΡΡΡΠΎΠΊ
2 KB
Austin Bonander
fix(macros): tell the compiler about external files/env vars to watch (#1332)
22 ΠΈΡΠ» 2021, 02:36
ΠΠ΅ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½
22 ΠΈΡΠ» 2021, 02:36
e89cb09
ΠΠΎΠ΄
ΠΠ²ΡΠΎΡΡΡΠ²ΠΎ
Π ΡΡΠΌ ΠΊΠΎΠ΄?
use crate::opt::{Command, DatabaseCommand, MigrateCommand}; use anyhow::anyhow; use dotenv::dotenv; use std::env; mod database; // mod migration; // mod migrator; mod migrate; mod opt; mod prepare; pub use crate::opt::Opt; pub async fn run(opt: Opt) -> anyhow::Result<()> { dotenv().ok(); let database_url = match opt.database_url { Some(db_url) => db_url, None => env::var("DATABASE_URL") .map_err(|_| anyhow!("The DATABASE_URL environment variable must be set"))?, }; match opt.command { Command::Migrate(migrate) => match migrate.command { MigrateCommand::Add { description, reversible, } => migrate::add(&migrate.source, &description, reversible).await?, MigrateCommand::Run { dry_run, ignore_missing, } => migrate::run(&migrate.source, &database_url, dry_run, ignore_missing).await?, MigrateCommand::Revert { dry_run, ignore_missing, } => migrate::revert(&migrate.source, &database_url, dry_run, ignore_missing).await?, MigrateCommand::Info => migrate::info(&migrate.source, &database_url).await?, MigrateCommand::BuildScript { force } => migrate::build_script(&migrate.source, force)?, }, Command::Database(database) => match database.command { DatabaseCommand::Create => database::create(&database_url).await?, DatabaseCommand::Drop { yes } => database::drop(&database_url, !yes).await?, DatabaseCommand::Reset { yes, source } => { database::reset(&source, &database_url, !yes).await? } DatabaseCommand::Setup { source } => database::setup(&source, &database_url).await?, }, Command::Prepare { check: false, merged, args, } => prepare::run(&database_url, merged, args)?, Command::Prepare { check: true, merged, args, } => prepare::check(&database_url, merged, args)?, }; Ok(()) }