Skip to content

Instantly share code, notes, and snippets.

@woile
Created September 18, 2023 07:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save woile/72ee2994aa2683228483016e74f75677 to your computer and use it in GitHub Desktop.
Save woile/72ee2994aa2683228483016e74f75677 to your computer and use it in GitHub Desktop.
sqlx offline preparation for nix
use std::env::{self, VarError};
// generated by `sqlx migrate build-script`
fn main() {
let use_db = |_url| {
// println!("cargo:rustc-env=DATABASE_URL={}", url);
println!("cargo:rerun-if-changed=migrations");
};
let use_json = || println!("cargo:rustc-env=SQLX_OFFLINE=true");
println!("cargo:rerun-if-env-changed=DATABASE_URL");
match env::var("DATABASE_URL") {
Ok(url) => use_db(url),
Err(VarError::NotPresent) => {
println!("cargo:warning={}", "using `.sqlx` for schema");
use_json()
}
Err(e) => panic!("$DATABASE_URL: {e:?}"),
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment