From 2d7ff4a4a07804a15ad766eadc94aa8d70082e3f Mon Sep 17 00:00:00 2001 From: Zioth Date: Sat, 21 Oct 2023 15:06:55 +0200 Subject: [PATCH 1/2] Feature: Allow skipping downloads of engines by setting env vars --- crates/cli/src/binaries/mod.rs | 16 +--------------- crates/cli/src/prisma_cli.rs | 8 ++++---- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/crates/cli/src/binaries/mod.rs b/crates/cli/src/binaries/mod.rs index f5552bd1..e634e46c 100644 --- a/crates/cli/src/binaries/mod.rs +++ b/crates/cli/src/binaries/mod.rs @@ -48,20 +48,6 @@ pub fn global_cache_dir() -> PathBuf { .join(PRISMA_CLI_VERSION) } -pub fn fetch_native(to_dir: &PathBuf) -> Result<(), String> { - if !to_dir.is_absolute() { - Err("to_dir must be absolute".to_string())?; - } - - download_cli(to_dir)?; - - for e in &ENGINES { - download_engine(&e.name, &to_dir)?; - } - - Ok(()) -} - pub fn download_cli(to_dir: &PathBuf) -> Result<(), String> { let cli = prisma_cli_name(); @@ -92,7 +78,7 @@ pub fn download_cli(to_dir: &PathBuf) -> Result<(), String> { Ok(()) } -fn download_engine(engine_name: &str, to_dir: &PathBuf) -> Result<(), String> { +pub fn download_engine(engine_name: &str, to_dir: &PathBuf) -> Result<(), String> { let os_name = platform::binary_platform_name(); let to = platform::check_for_extension( diff --git a/crates/cli/src/prisma_cli.rs b/crates/cli/src/prisma_cli.rs index b6715bae..bd412009 100644 --- a/crates/cli/src/prisma_cli.rs +++ b/crates/cli/src/prisma_cli.rs @@ -5,14 +5,13 @@ use std::process::Command; pub fn main(args: &Vec) { let dir = binaries::global_cache_dir(); - binaries::fetch_native(&dir).unwrap(); - + binaries::download_cli(&dir).unwrap(); let prisma = binaries::prisma_cli_name(); - - let mut cmd = Command::new(dir.join(prisma)); let binary_name = platform::check_for_extension(&platform::name(), &platform::binary_platform_name()); + let mut cmd = Command::new(dir.join(prisma)); + cmd.args(args); cmd.envs(env::vars()); @@ -25,6 +24,7 @@ pub fn main(args: &Vec) { cmd.env(e.env, path); } Err(_) => { + binaries::download_engine(&e.name, &dir).unwrap(); let path = dir .join(binaries::ENGINE_VERSION) .join(format!("prisma-{}-{}", e.name, binary_name)); From 3c2371c6c2a31eacbc00e9a45ef18b0b50302490 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Sun, 29 Oct 2023 13:42:18 +0800 Subject: [PATCH 2/2] fix tests --- integration-tests/tests/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration-tests/tests/lib.rs b/integration-tests/tests/lib.rs index 0040ea9e..31b49cbf 100644 --- a/integration-tests/tests/lib.rs +++ b/integration-tests/tests/lib.rs @@ -8,7 +8,7 @@ mod utils; #[tokio::test] async fn aaaa_run_migrations() -> TestResult { - let client = db::new_client().await.unwrap(); + let client = db::PrismaClient::_builder().build().await.unwrap(); client._db_push().accept_data_loss().await.unwrap();