diff --git a/cli/src/db.rs b/cli/src/db.rs index ba197a4d..45891b4d 100644 --- a/cli/src/db.rs +++ b/cli/src/db.rs @@ -33,6 +33,8 @@ enum Command { Migrate, #[command(about = "Create a new migration")] NewMigration { title: String }, + #[command(about = "Prepare sqlx query metadata for offline compile-time verification")] + Prepare, } #[async_std::main] @@ -48,7 +50,6 @@ async fn main() { create_db(&db_config) .await .expect("Failed creating database."); - migrate_db(&db_config) .await .expect("Failed migrating database."); @@ -57,11 +58,9 @@ async fn main() { drop_db(&db_config) .await .expect("Failed dropping database."); - create_db(&db_config) .await .expect("Failed creating database."); - migrate_db(&db_config) .await .expect("Failed migrating database."); @@ -76,6 +75,7 @@ async fn main() { .await .expect("Failed creating new migration."); } + Command::Prepare => prepare().await.expect("Failed preparing query metadata."), } } @@ -169,6 +169,35 @@ async fn create_new_migration(title: &str) -> anyhow::Result<()> { Ok(()) } +async fn prepare() -> anyhow::Result<()> { + let cargo = std::env::var("CARGO") + .map_err(|_| anyhow::anyhow!("Please invoke me using Cargo, e.g.: `cargo db `")) + .expect("Existence of CARGO env var is asserted by calling `ensure_sqlx_cli_installed`"); + + let mut sqlx_prepare_command = { + let mut cmd = std::process::Command::new(&cargo); + + cmd.args(["sqlx", "prepare", "--", "--all-targets", "--all-features"]); + + let cmd_cwd = db_package_root().context("Error finding the root of the db package!")?; + cmd.current_dir(cmd_cwd); + + cmd + }; + + let o = sqlx_prepare_command + .output() + .context("Could not run {cargo} sqlx prepare!")?; + + if !o.status.success() { + let error = anyhow::anyhow!(String::from_utf8_lossy(&o.stdout).to_string()).context("Error generating query metadata. Are you sure the database is running and all migrations are applied?"); + return Err(error); + } + + println!("Query data written to db/.sqlx directory; please check this into version control."); + Ok(()) +} + fn db_package_root() -> Result { Ok(PathBuf::from( std::env::var("CARGO_MANIFEST_DIR").expect("This command needs to be invoked using cargo"), diff --git a/.sqlx/query-03c789e902e84a8a3e753ac7d64c821e368b367eed085b3dc1bdc41cdf0ee6d2.json b/db/.sqlx/query-03c789e902e84a8a3e753ac7d64c821e368b367eed085b3dc1bdc41cdf0ee6d2.json similarity index 100% rename from .sqlx/query-03c789e902e84a8a3e753ac7d64c821e368b367eed085b3dc1bdc41cdf0ee6d2.json rename to db/.sqlx/query-03c789e902e84a8a3e753ac7d64c821e368b367eed085b3dc1bdc41cdf0ee6d2.json diff --git a/.sqlx/query-09dd3e14c1d48847a9618b188ee7e7ac51e23fe98c53e27c400cadc50ccd6c2f.json b/db/.sqlx/query-09dd3e14c1d48847a9618b188ee7e7ac51e23fe98c53e27c400cadc50ccd6c2f.json similarity index 100% rename from .sqlx/query-09dd3e14c1d48847a9618b188ee7e7ac51e23fe98c53e27c400cadc50ccd6c2f.json rename to db/.sqlx/query-09dd3e14c1d48847a9618b188ee7e7ac51e23fe98c53e27c400cadc50ccd6c2f.json diff --git a/.sqlx/query-0a5318ab6466385e805f83e13cc0797146a27d523ad5ffab1828806fb2935af9.json b/db/.sqlx/query-0a5318ab6466385e805f83e13cc0797146a27d523ad5ffab1828806fb2935af9.json similarity index 100% rename from .sqlx/query-0a5318ab6466385e805f83e13cc0797146a27d523ad5ffab1828806fb2935af9.json rename to db/.sqlx/query-0a5318ab6466385e805f83e13cc0797146a27d523ad5ffab1828806fb2935af9.json diff --git a/.sqlx/query-0eafc423ff404eadb5300ad47e5b81d5f3be1fb0c1723600b6f9bbe73b1e8155.json b/db/.sqlx/query-0eafc423ff404eadb5300ad47e5b81d5f3be1fb0c1723600b6f9bbe73b1e8155.json similarity index 100% rename from .sqlx/query-0eafc423ff404eadb5300ad47e5b81d5f3be1fb0c1723600b6f9bbe73b1e8155.json rename to db/.sqlx/query-0eafc423ff404eadb5300ad47e5b81d5f3be1fb0c1723600b6f9bbe73b1e8155.json diff --git a/.sqlx/query-1452258f916025c6367477e11a442360d2f6211d3f47b465c0024994006e0c08.json b/db/.sqlx/query-1452258f916025c6367477e11a442360d2f6211d3f47b465c0024994006e0c08.json similarity index 100% rename from .sqlx/query-1452258f916025c6367477e11a442360d2f6211d3f47b465c0024994006e0c08.json rename to db/.sqlx/query-1452258f916025c6367477e11a442360d2f6211d3f47b465c0024994006e0c08.json diff --git a/.sqlx/query-17f79edd7138f29f4279aeb2e72be1d1cea46d8aca559788420f532be0426723.json b/db/.sqlx/query-17f79edd7138f29f4279aeb2e72be1d1cea46d8aca559788420f532be0426723.json similarity index 100% rename from .sqlx/query-17f79edd7138f29f4279aeb2e72be1d1cea46d8aca559788420f532be0426723.json rename to db/.sqlx/query-17f79edd7138f29f4279aeb2e72be1d1cea46d8aca559788420f532be0426723.json diff --git a/.sqlx/query-1b85bca9dc5c0ec4568a07846ccda76468e81d9335548ef6f8b25c6e290b9cd0.json b/db/.sqlx/query-1b85bca9dc5c0ec4568a07846ccda76468e81d9335548ef6f8b25c6e290b9cd0.json similarity index 100% rename from .sqlx/query-1b85bca9dc5c0ec4568a07846ccda76468e81d9335548ef6f8b25c6e290b9cd0.json rename to db/.sqlx/query-1b85bca9dc5c0ec4568a07846ccda76468e81d9335548ef6f8b25c6e290b9cd0.json diff --git a/.sqlx/query-1c9387e3723fe4b7d1b10908a3580e7ebf4d56250f8f008ee030a158b02cb86e.json b/db/.sqlx/query-1c9387e3723fe4b7d1b10908a3580e7ebf4d56250f8f008ee030a158b02cb86e.json similarity index 100% rename from .sqlx/query-1c9387e3723fe4b7d1b10908a3580e7ebf4d56250f8f008ee030a158b02cb86e.json rename to db/.sqlx/query-1c9387e3723fe4b7d1b10908a3580e7ebf4d56250f8f008ee030a158b02cb86e.json diff --git a/.sqlx/query-1c996712f62a1005990733cd9eee7a94bdcf2ef01b559304aea1d642fab7ae22.json b/db/.sqlx/query-1c996712f62a1005990733cd9eee7a94bdcf2ef01b559304aea1d642fab7ae22.json similarity index 100% rename from .sqlx/query-1c996712f62a1005990733cd9eee7a94bdcf2ef01b559304aea1d642fab7ae22.json rename to db/.sqlx/query-1c996712f62a1005990733cd9eee7a94bdcf2ef01b559304aea1d642fab7ae22.json diff --git a/.sqlx/query-22470315a6113d51ed84e262b6dd2e41a7c16d9dda06eb06c272345722f994ae.json b/db/.sqlx/query-22470315a6113d51ed84e262b6dd2e41a7c16d9dda06eb06c272345722f994ae.json similarity index 100% rename from .sqlx/query-22470315a6113d51ed84e262b6dd2e41a7c16d9dda06eb06c272345722f994ae.json rename to db/.sqlx/query-22470315a6113d51ed84e262b6dd2e41a7c16d9dda06eb06c272345722f994ae.json diff --git a/.sqlx/query-2288f64f63f07e7dd947c036e5c2be4c563788b3b988b721bd12797fd19a7a95.json b/db/.sqlx/query-2288f64f63f07e7dd947c036e5c2be4c563788b3b988b721bd12797fd19a7a95.json similarity index 100% rename from .sqlx/query-2288f64f63f07e7dd947c036e5c2be4c563788b3b988b721bd12797fd19a7a95.json rename to db/.sqlx/query-2288f64f63f07e7dd947c036e5c2be4c563788b3b988b721bd12797fd19a7a95.json diff --git a/.sqlx/query-24449d7fa57151cc7bbe17b757c4a155eaf85f51b91e0724a100e7eedfa096ce.json b/db/.sqlx/query-24449d7fa57151cc7bbe17b757c4a155eaf85f51b91e0724a100e7eedfa096ce.json similarity index 100% rename from .sqlx/query-24449d7fa57151cc7bbe17b757c4a155eaf85f51b91e0724a100e7eedfa096ce.json rename to db/.sqlx/query-24449d7fa57151cc7bbe17b757c4a155eaf85f51b91e0724a100e7eedfa096ce.json diff --git a/.sqlx/query-24fecf0d262d800b26cf90db0e12fea535a7b630000db10ea89419bff998f58d.json b/db/.sqlx/query-24fecf0d262d800b26cf90db0e12fea535a7b630000db10ea89419bff998f58d.json similarity index 100% rename from .sqlx/query-24fecf0d262d800b26cf90db0e12fea535a7b630000db10ea89419bff998f58d.json rename to db/.sqlx/query-24fecf0d262d800b26cf90db0e12fea535a7b630000db10ea89419bff998f58d.json diff --git a/.sqlx/query-348365fd1e76ebfcfa065d1ea7e22cd7cbcd2e981f75fce75f29f1c4fbfc3df5.json b/db/.sqlx/query-348365fd1e76ebfcfa065d1ea7e22cd7cbcd2e981f75fce75f29f1c4fbfc3df5.json similarity index 100% rename from .sqlx/query-348365fd1e76ebfcfa065d1ea7e22cd7cbcd2e981f75fce75f29f1c4fbfc3df5.json rename to db/.sqlx/query-348365fd1e76ebfcfa065d1ea7e22cd7cbcd2e981f75fce75f29f1c4fbfc3df5.json diff --git a/.sqlx/query-366b4004828057e3ab47704c4856ea4e41c92af0a388862f77c37ea611a5d193.json b/db/.sqlx/query-366b4004828057e3ab47704c4856ea4e41c92af0a388862f77c37ea611a5d193.json similarity index 100% rename from .sqlx/query-366b4004828057e3ab47704c4856ea4e41c92af0a388862f77c37ea611a5d193.json rename to db/.sqlx/query-366b4004828057e3ab47704c4856ea4e41c92af0a388862f77c37ea611a5d193.json diff --git a/.sqlx/query-36afabfbbe056a63386f94edf2d49beb2d63130f8ea1bf4a840d7729bcb6f9cc.json b/db/.sqlx/query-36afabfbbe056a63386f94edf2d49beb2d63130f8ea1bf4a840d7729bcb6f9cc.json similarity index 100% rename from .sqlx/query-36afabfbbe056a63386f94edf2d49beb2d63130f8ea1bf4a840d7729bcb6f9cc.json rename to db/.sqlx/query-36afabfbbe056a63386f94edf2d49beb2d63130f8ea1bf4a840d7729bcb6f9cc.json diff --git a/.sqlx/query-39415450c15de43079d87443b71cf9bacb8e852fa434448d3cc4c52bad0bcf01.json b/db/.sqlx/query-39415450c15de43079d87443b71cf9bacb8e852fa434448d3cc4c52bad0bcf01.json similarity index 100% rename from .sqlx/query-39415450c15de43079d87443b71cf9bacb8e852fa434448d3cc4c52bad0bcf01.json rename to db/.sqlx/query-39415450c15de43079d87443b71cf9bacb8e852fa434448d3cc4c52bad0bcf01.json diff --git a/.sqlx/query-3e246c54d31804140272a6fc2e3c241c17b086ff219d6084684a0f2b7c31eeed.json b/db/.sqlx/query-3e246c54d31804140272a6fc2e3c241c17b086ff219d6084684a0f2b7c31eeed.json similarity index 100% rename from .sqlx/query-3e246c54d31804140272a6fc2e3c241c17b086ff219d6084684a0f2b7c31eeed.json rename to db/.sqlx/query-3e246c54d31804140272a6fc2e3c241c17b086ff219d6084684a0f2b7c31eeed.json diff --git a/.sqlx/query-413a3b2bdb7c23ab0f44bcc3ece79de6106c087ff85ca075fd9ca65a42cfa8cc.json b/db/.sqlx/query-413a3b2bdb7c23ab0f44bcc3ece79de6106c087ff85ca075fd9ca65a42cfa8cc.json similarity index 100% rename from .sqlx/query-413a3b2bdb7c23ab0f44bcc3ece79de6106c087ff85ca075fd9ca65a42cfa8cc.json rename to db/.sqlx/query-413a3b2bdb7c23ab0f44bcc3ece79de6106c087ff85ca075fd9ca65a42cfa8cc.json diff --git a/.sqlx/query-47bd20303899d5e804f8651c17428ee92f80321d1a5423be52e4f9a275180748.json b/db/.sqlx/query-47bd20303899d5e804f8651c17428ee92f80321d1a5423be52e4f9a275180748.json similarity index 100% rename from .sqlx/query-47bd20303899d5e804f8651c17428ee92f80321d1a5423be52e4f9a275180748.json rename to db/.sqlx/query-47bd20303899d5e804f8651c17428ee92f80321d1a5423be52e4f9a275180748.json diff --git a/.sqlx/query-4bfce344fc6f0bfbb2b460677ce3eba3793ecf697355e81012e721357ba351b9.json b/db/.sqlx/query-4bfce344fc6f0bfbb2b460677ce3eba3793ecf697355e81012e721357ba351b9.json similarity index 100% rename from .sqlx/query-4bfce344fc6f0bfbb2b460677ce3eba3793ecf697355e81012e721357ba351b9.json rename to db/.sqlx/query-4bfce344fc6f0bfbb2b460677ce3eba3793ecf697355e81012e721357ba351b9.json diff --git a/.sqlx/query-4ceb2c7e3d921c2718e75ba131eee1706e008b783deb687e04eba08f4b919ac8.json b/db/.sqlx/query-4ceb2c7e3d921c2718e75ba131eee1706e008b783deb687e04eba08f4b919ac8.json similarity index 100% rename from .sqlx/query-4ceb2c7e3d921c2718e75ba131eee1706e008b783deb687e04eba08f4b919ac8.json rename to db/.sqlx/query-4ceb2c7e3d921c2718e75ba131eee1706e008b783deb687e04eba08f4b919ac8.json diff --git a/.sqlx/query-57742178247d76e67dd81af0873854d1c5d14e189e338ae55900a873146be99f.json b/db/.sqlx/query-57742178247d76e67dd81af0873854d1c5d14e189e338ae55900a873146be99f.json similarity index 100% rename from .sqlx/query-57742178247d76e67dd81af0873854d1c5d14e189e338ae55900a873146be99f.json rename to db/.sqlx/query-57742178247d76e67dd81af0873854d1c5d14e189e338ae55900a873146be99f.json diff --git a/.sqlx/query-5c492ff7ad44ae4876bae9b9ba947d12ad03cda345ba6d1120e38081fdb1fa06.json b/db/.sqlx/query-5c492ff7ad44ae4876bae9b9ba947d12ad03cda345ba6d1120e38081fdb1fa06.json similarity index 100% rename from .sqlx/query-5c492ff7ad44ae4876bae9b9ba947d12ad03cda345ba6d1120e38081fdb1fa06.json rename to db/.sqlx/query-5c492ff7ad44ae4876bae9b9ba947d12ad03cda345ba6d1120e38081fdb1fa06.json diff --git a/.sqlx/query-61ae80bcf916ac62220ffd16eb0be5e37e086f9f5b753d451725ea429ab84fbc.json b/db/.sqlx/query-61ae80bcf916ac62220ffd16eb0be5e37e086f9f5b753d451725ea429ab84fbc.json similarity index 100% rename from .sqlx/query-61ae80bcf916ac62220ffd16eb0be5e37e086f9f5b753d451725ea429ab84fbc.json rename to db/.sqlx/query-61ae80bcf916ac62220ffd16eb0be5e37e086f9f5b753d451725ea429ab84fbc.json diff --git a/.sqlx/query-6260f72ba85714e8529af2c4f3da77cf67556af87c72997b68fa8bd8bcae62a8.json b/db/.sqlx/query-6260f72ba85714e8529af2c4f3da77cf67556af87c72997b68fa8bd8bcae62a8.json similarity index 100% rename from .sqlx/query-6260f72ba85714e8529af2c4f3da77cf67556af87c72997b68fa8bd8bcae62a8.json rename to db/.sqlx/query-6260f72ba85714e8529af2c4f3da77cf67556af87c72997b68fa8bd8bcae62a8.json diff --git a/.sqlx/query-686a344fde1d9d3d7cfb431b30cd455f37854d8b728a7aac679e5c60f84cb08c.json b/db/.sqlx/query-686a344fde1d9d3d7cfb431b30cd455f37854d8b728a7aac679e5c60f84cb08c.json similarity index 100% rename from .sqlx/query-686a344fde1d9d3d7cfb431b30cd455f37854d8b728a7aac679e5c60f84cb08c.json rename to db/.sqlx/query-686a344fde1d9d3d7cfb431b30cd455f37854d8b728a7aac679e5c60f84cb08c.json diff --git a/.sqlx/query-68d2b1ed0dc56056ec85ca38ba033ffcb6a480ca13c2beea0a543067840c64a7.json b/db/.sqlx/query-68d2b1ed0dc56056ec85ca38ba033ffcb6a480ca13c2beea0a543067840c64a7.json similarity index 100% rename from .sqlx/query-68d2b1ed0dc56056ec85ca38ba033ffcb6a480ca13c2beea0a543067840c64a7.json rename to db/.sqlx/query-68d2b1ed0dc56056ec85ca38ba033ffcb6a480ca13c2beea0a543067840c64a7.json diff --git a/.sqlx/query-6a95b789e0f9fc868d8695a33614184ae14ee690d03cd7455a80430d0cb8ba63.json b/db/.sqlx/query-6a95b789e0f9fc868d8695a33614184ae14ee690d03cd7455a80430d0cb8ba63.json similarity index 100% rename from .sqlx/query-6a95b789e0f9fc868d8695a33614184ae14ee690d03cd7455a80430d0cb8ba63.json rename to db/.sqlx/query-6a95b789e0f9fc868d8695a33614184ae14ee690d03cd7455a80430d0cb8ba63.json diff --git a/.sqlx/query-6dc18993de451d1e0aa4080f00f46ce3339e020922b9ef130c4289b080a2af7d.json b/db/.sqlx/query-6dc18993de451d1e0aa4080f00f46ce3339e020922b9ef130c4289b080a2af7d.json similarity index 100% rename from .sqlx/query-6dc18993de451d1e0aa4080f00f46ce3339e020922b9ef130c4289b080a2af7d.json rename to db/.sqlx/query-6dc18993de451d1e0aa4080f00f46ce3339e020922b9ef130c4289b080a2af7d.json diff --git a/.sqlx/query-73eba57512af51a7a7d5ea9b6b375dba701bf829b8cf8e37388c1de1c302f486.json b/db/.sqlx/query-73eba57512af51a7a7d5ea9b6b375dba701bf829b8cf8e37388c1de1c302f486.json similarity index 100% rename from .sqlx/query-73eba57512af51a7a7d5ea9b6b375dba701bf829b8cf8e37388c1de1c302f486.json rename to db/.sqlx/query-73eba57512af51a7a7d5ea9b6b375dba701bf829b8cf8e37388c1de1c302f486.json diff --git a/.sqlx/query-770344caf4f209a95fd26cb778e7dfbb249c8edc24a0981c7c0e5bb7854f7fde.json b/db/.sqlx/query-770344caf4f209a95fd26cb778e7dfbb249c8edc24a0981c7c0e5bb7854f7fde.json similarity index 100% rename from .sqlx/query-770344caf4f209a95fd26cb778e7dfbb249c8edc24a0981c7c0e5bb7854f7fde.json rename to db/.sqlx/query-770344caf4f209a95fd26cb778e7dfbb249c8edc24a0981c7c0e5bb7854f7fde.json diff --git a/.sqlx/query-7b3d623440f6ab8060223289d13687921a5c27317ea27d1b2c960b5e809a7497.json b/db/.sqlx/query-7b3d623440f6ab8060223289d13687921a5c27317ea27d1b2c960b5e809a7497.json similarity index 100% rename from .sqlx/query-7b3d623440f6ab8060223289d13687921a5c27317ea27d1b2c960b5e809a7497.json rename to db/.sqlx/query-7b3d623440f6ab8060223289d13687921a5c27317ea27d1b2c960b5e809a7497.json diff --git a/.sqlx/query-7bc06d40e0e7f43f73861bb5fa9fe954aea7c821abf785b68d0731fcaf0f4845.json b/db/.sqlx/query-7bc06d40e0e7f43f73861bb5fa9fe954aea7c821abf785b68d0731fcaf0f4845.json similarity index 100% rename from .sqlx/query-7bc06d40e0e7f43f73861bb5fa9fe954aea7c821abf785b68d0731fcaf0f4845.json rename to db/.sqlx/query-7bc06d40e0e7f43f73861bb5fa9fe954aea7c821abf785b68d0731fcaf0f4845.json diff --git a/.sqlx/query-7c0145a715f40405e4401a6bb0bc27152a88c585d66da008d2729fb61d2d84b9.json b/db/.sqlx/query-7c0145a715f40405e4401a6bb0bc27152a88c585d66da008d2729fb61d2d84b9.json similarity index 100% rename from .sqlx/query-7c0145a715f40405e4401a6bb0bc27152a88c585d66da008d2729fb61d2d84b9.json rename to db/.sqlx/query-7c0145a715f40405e4401a6bb0bc27152a88c585d66da008d2729fb61d2d84b9.json diff --git a/.sqlx/query-7d1f191fbff87ffc8d429221f6f42557a5ab9e6eab8e0f10f5bad6055a64f617.json b/db/.sqlx/query-7d1f191fbff87ffc8d429221f6f42557a5ab9e6eab8e0f10f5bad6055a64f617.json similarity index 100% rename from .sqlx/query-7d1f191fbff87ffc8d429221f6f42557a5ab9e6eab8e0f10f5bad6055a64f617.json rename to db/.sqlx/query-7d1f191fbff87ffc8d429221f6f42557a5ab9e6eab8e0f10f5bad6055a64f617.json diff --git a/.sqlx/query-7db7ce0d13489ce3c0d967322f071a11174aa3c86ed405d352a3e3fb7ed10804.json b/db/.sqlx/query-7db7ce0d13489ce3c0d967322f071a11174aa3c86ed405d352a3e3fb7ed10804.json similarity index 100% rename from .sqlx/query-7db7ce0d13489ce3c0d967322f071a11174aa3c86ed405d352a3e3fb7ed10804.json rename to db/.sqlx/query-7db7ce0d13489ce3c0d967322f071a11174aa3c86ed405d352a3e3fb7ed10804.json diff --git a/.sqlx/query-8331b42d55c64827a0382b830e453158cbe3fc7919fec93c9ca03dcf570c9e9d.json b/db/.sqlx/query-8331b42d55c64827a0382b830e453158cbe3fc7919fec93c9ca03dcf570c9e9d.json similarity index 100% rename from .sqlx/query-8331b42d55c64827a0382b830e453158cbe3fc7919fec93c9ca03dcf570c9e9d.json rename to db/.sqlx/query-8331b42d55c64827a0382b830e453158cbe3fc7919fec93c9ca03dcf570c9e9d.json diff --git a/.sqlx/query-852293a7ffbde434401e3b45847275b4992b509da4148055cbe65ca26526f3ca.json b/db/.sqlx/query-852293a7ffbde434401e3b45847275b4992b509da4148055cbe65ca26526f3ca.json similarity index 100% rename from .sqlx/query-852293a7ffbde434401e3b45847275b4992b509da4148055cbe65ca26526f3ca.json rename to db/.sqlx/query-852293a7ffbde434401e3b45847275b4992b509da4148055cbe65ca26526f3ca.json diff --git a/.sqlx/query-868bbdcb65f0ee862f221b7e3d1a4f4dbc4d818315d1713a110c4ad7acd09e3e.json b/db/.sqlx/query-868bbdcb65f0ee862f221b7e3d1a4f4dbc4d818315d1713a110c4ad7acd09e3e.json similarity index 100% rename from .sqlx/query-868bbdcb65f0ee862f221b7e3d1a4f4dbc4d818315d1713a110c4ad7acd09e3e.json rename to db/.sqlx/query-868bbdcb65f0ee862f221b7e3d1a4f4dbc4d818315d1713a110c4ad7acd09e3e.json diff --git a/.sqlx/query-8893828aa4509fc81f078b313a88c34d05eb7c5988e4d595768bc7dd47a7892f.json b/db/.sqlx/query-8893828aa4509fc81f078b313a88c34d05eb7c5988e4d595768bc7dd47a7892f.json similarity index 100% rename from .sqlx/query-8893828aa4509fc81f078b313a88c34d05eb7c5988e4d595768bc7dd47a7892f.json rename to db/.sqlx/query-8893828aa4509fc81f078b313a88c34d05eb7c5988e4d595768bc7dd47a7892f.json diff --git a/.sqlx/query-9091186ff6f2e2013cdca9d66c6f5be5207b0e868b6de0f558a469138838a650.json b/db/.sqlx/query-9091186ff6f2e2013cdca9d66c6f5be5207b0e868b6de0f558a469138838a650.json similarity index 100% rename from .sqlx/query-9091186ff6f2e2013cdca9d66c6f5be5207b0e868b6de0f558a469138838a650.json rename to db/.sqlx/query-9091186ff6f2e2013cdca9d66c6f5be5207b0e868b6de0f558a469138838a650.json diff --git a/.sqlx/query-9315f185d76ae8e25c9bb0273fce388ca559c4494f82d31524f224c6b70000f9.json b/db/.sqlx/query-9315f185d76ae8e25c9bb0273fce388ca559c4494f82d31524f224c6b70000f9.json similarity index 100% rename from .sqlx/query-9315f185d76ae8e25c9bb0273fce388ca559c4494f82d31524f224c6b70000f9.json rename to db/.sqlx/query-9315f185d76ae8e25c9bb0273fce388ca559c4494f82d31524f224c6b70000f9.json diff --git a/.sqlx/query-96b1394c0dc24a9633af101d53af4844e919aca853ebeb9bab6b37a0d68c3b59.json b/db/.sqlx/query-96b1394c0dc24a9633af101d53af4844e919aca853ebeb9bab6b37a0d68c3b59.json similarity index 100% rename from .sqlx/query-96b1394c0dc24a9633af101d53af4844e919aca853ebeb9bab6b37a0d68c3b59.json rename to db/.sqlx/query-96b1394c0dc24a9633af101d53af4844e919aca853ebeb9bab6b37a0d68c3b59.json diff --git a/.sqlx/query-9b3e6609e33be0e428d759f1294d5804c9463f06f7747bf4ea04599da9b4b531.json b/db/.sqlx/query-9b3e6609e33be0e428d759f1294d5804c9463f06f7747bf4ea04599da9b4b531.json similarity index 100% rename from .sqlx/query-9b3e6609e33be0e428d759f1294d5804c9463f06f7747bf4ea04599da9b4b531.json rename to db/.sqlx/query-9b3e6609e33be0e428d759f1294d5804c9463f06f7747bf4ea04599da9b4b531.json diff --git a/.sqlx/query-9e7ed80577cdceb87b5e5c4903aeadb7c0aea19b94f43828d97a26446ddd1a81.json b/db/.sqlx/query-9e7ed80577cdceb87b5e5c4903aeadb7c0aea19b94f43828d97a26446ddd1a81.json similarity index 100% rename from .sqlx/query-9e7ed80577cdceb87b5e5c4903aeadb7c0aea19b94f43828d97a26446ddd1a81.json rename to db/.sqlx/query-9e7ed80577cdceb87b5e5c4903aeadb7c0aea19b94f43828d97a26446ddd1a81.json diff --git a/.sqlx/query-a05ae42af4e579697f6ddae93aa52fbc826a58edb71a23b54a589c56e1b50378.json b/db/.sqlx/query-a05ae42af4e579697f6ddae93aa52fbc826a58edb71a23b54a589c56e1b50378.json similarity index 100% rename from .sqlx/query-a05ae42af4e579697f6ddae93aa52fbc826a58edb71a23b54a589c56e1b50378.json rename to db/.sqlx/query-a05ae42af4e579697f6ddae93aa52fbc826a58edb71a23b54a589c56e1b50378.json diff --git a/.sqlx/query-a55c1e8926f4aa039d8b14a054cb7d4e80387970467bf940c79433c08cb4f879.json b/db/.sqlx/query-a55c1e8926f4aa039d8b14a054cb7d4e80387970467bf940c79433c08cb4f879.json similarity index 100% rename from .sqlx/query-a55c1e8926f4aa039d8b14a054cb7d4e80387970467bf940c79433c08cb4f879.json rename to db/.sqlx/query-a55c1e8926f4aa039d8b14a054cb7d4e80387970467bf940c79433c08cb4f879.json diff --git a/.sqlx/query-aad65af88315c7c358c8d72c466139d8a0bef32d03c4dd8cd1e8c2316224da79.json b/db/.sqlx/query-aad65af88315c7c358c8d72c466139d8a0bef32d03c4dd8cd1e8c2316224da79.json similarity index 100% rename from .sqlx/query-aad65af88315c7c358c8d72c466139d8a0bef32d03c4dd8cd1e8c2316224da79.json rename to db/.sqlx/query-aad65af88315c7c358c8d72c466139d8a0bef32d03c4dd8cd1e8c2316224da79.json diff --git a/.sqlx/query-ad4419211e4c98292eaa47ab04e0ea0201f1789ac906acc8cf79aacfbecd9f05.json b/db/.sqlx/query-ad4419211e4c98292eaa47ab04e0ea0201f1789ac906acc8cf79aacfbecd9f05.json similarity index 100% rename from .sqlx/query-ad4419211e4c98292eaa47ab04e0ea0201f1789ac906acc8cf79aacfbecd9f05.json rename to db/.sqlx/query-ad4419211e4c98292eaa47ab04e0ea0201f1789ac906acc8cf79aacfbecd9f05.json diff --git a/.sqlx/query-ae18073da63db05840fdd113a2a4727a7e2531cc54ca2bf35ba4f4f86d35a4d3.json b/db/.sqlx/query-ae18073da63db05840fdd113a2a4727a7e2531cc54ca2bf35ba4f4f86d35a4d3.json similarity index 100% rename from .sqlx/query-ae18073da63db05840fdd113a2a4727a7e2531cc54ca2bf35ba4f4f86d35a4d3.json rename to db/.sqlx/query-ae18073da63db05840fdd113a2a4727a7e2531cc54ca2bf35ba4f4f86d35a4d3.json diff --git a/.sqlx/query-b145ac6b3c43aa24082ca9d6642dc36e745b7b1e633b94cb61e980a5e0fc60b5.json b/db/.sqlx/query-b145ac6b3c43aa24082ca9d6642dc36e745b7b1e633b94cb61e980a5e0fc60b5.json similarity index 100% rename from .sqlx/query-b145ac6b3c43aa24082ca9d6642dc36e745b7b1e633b94cb61e980a5e0fc60b5.json rename to db/.sqlx/query-b145ac6b3c43aa24082ca9d6642dc36e745b7b1e633b94cb61e980a5e0fc60b5.json diff --git a/.sqlx/query-b1e4b7c5d9a08923ab0512b2f2d402865f5d63cb828507c856293be62102aeef.json b/db/.sqlx/query-b1e4b7c5d9a08923ab0512b2f2d402865f5d63cb828507c856293be62102aeef.json similarity index 100% rename from .sqlx/query-b1e4b7c5d9a08923ab0512b2f2d402865f5d63cb828507c856293be62102aeef.json rename to db/.sqlx/query-b1e4b7c5d9a08923ab0512b2f2d402865f5d63cb828507c856293be62102aeef.json diff --git a/.sqlx/query-b259a464a99501cb60551791af069f662da9fed90243ac4a42d1cf1020b614d3.json b/db/.sqlx/query-b259a464a99501cb60551791af069f662da9fed90243ac4a42d1cf1020b614d3.json similarity index 100% rename from .sqlx/query-b259a464a99501cb60551791af069f662da9fed90243ac4a42d1cf1020b614d3.json rename to db/.sqlx/query-b259a464a99501cb60551791af069f662da9fed90243ac4a42d1cf1020b614d3.json diff --git a/.sqlx/query-b43b6a9e1bd8f05c79368115aa5e59b22a5d275c91c1aae39fbc17ecf9297efc.json b/db/.sqlx/query-b43b6a9e1bd8f05c79368115aa5e59b22a5d275c91c1aae39fbc17ecf9297efc.json similarity index 100% rename from .sqlx/query-b43b6a9e1bd8f05c79368115aa5e59b22a5d275c91c1aae39fbc17ecf9297efc.json rename to db/.sqlx/query-b43b6a9e1bd8f05c79368115aa5e59b22a5d275c91c1aae39fbc17ecf9297efc.json diff --git a/.sqlx/query-b4edfcac9404060d487db765b8c18ef8b7440699583e0bede95f4d214e668a87.json b/db/.sqlx/query-b4edfcac9404060d487db765b8c18ef8b7440699583e0bede95f4d214e668a87.json similarity index 100% rename from .sqlx/query-b4edfcac9404060d487db765b8c18ef8b7440699583e0bede95f4d214e668a87.json rename to db/.sqlx/query-b4edfcac9404060d487db765b8c18ef8b7440699583e0bede95f4d214e668a87.json diff --git a/.sqlx/query-b55283e681bed3f5666cefca8acf2504e78ee2c8e094d96b89b68e8e7dddce48.json b/db/.sqlx/query-b55283e681bed3f5666cefca8acf2504e78ee2c8e094d96b89b68e8e7dddce48.json similarity index 100% rename from .sqlx/query-b55283e681bed3f5666cefca8acf2504e78ee2c8e094d96b89b68e8e7dddce48.json rename to db/.sqlx/query-b55283e681bed3f5666cefca8acf2504e78ee2c8e094d96b89b68e8e7dddce48.json diff --git a/.sqlx/query-b670053eb906a244d3ce12a7eb36982d6b21ed1e637fbf0eee841031e217c6c5.json b/db/.sqlx/query-b670053eb906a244d3ce12a7eb36982d6b21ed1e637fbf0eee841031e217c6c5.json similarity index 100% rename from .sqlx/query-b670053eb906a244d3ce12a7eb36982d6b21ed1e637fbf0eee841031e217c6c5.json rename to db/.sqlx/query-b670053eb906a244d3ce12a7eb36982d6b21ed1e637fbf0eee841031e217c6c5.json diff --git a/.sqlx/query-b76b8744228a18fee84e5f895d5b831e4fce2169daedc3d472c96bdaf4b29dae.json b/db/.sqlx/query-b76b8744228a18fee84e5f895d5b831e4fce2169daedc3d472c96bdaf4b29dae.json similarity index 100% rename from .sqlx/query-b76b8744228a18fee84e5f895d5b831e4fce2169daedc3d472c96bdaf4b29dae.json rename to db/.sqlx/query-b76b8744228a18fee84e5f895d5b831e4fce2169daedc3d472c96bdaf4b29dae.json diff --git a/.sqlx/query-c28c0fd372fa23b0053ec38ce59b5bf791d8a75ba68937609698bd52c97c8d0d.json b/db/.sqlx/query-c28c0fd372fa23b0053ec38ce59b5bf791d8a75ba68937609698bd52c97c8d0d.json similarity index 100% rename from .sqlx/query-c28c0fd372fa23b0053ec38ce59b5bf791d8a75ba68937609698bd52c97c8d0d.json rename to db/.sqlx/query-c28c0fd372fa23b0053ec38ce59b5bf791d8a75ba68937609698bd52c97c8d0d.json diff --git a/.sqlx/query-c9a989d3b08f4147643a540aecbb0d6275cb71ff217359f87467a46b32648ea7.json b/db/.sqlx/query-c9a989d3b08f4147643a540aecbb0d6275cb71ff217359f87467a46b32648ea7.json similarity index 100% rename from .sqlx/query-c9a989d3b08f4147643a540aecbb0d6275cb71ff217359f87467a46b32648ea7.json rename to db/.sqlx/query-c9a989d3b08f4147643a540aecbb0d6275cb71ff217359f87467a46b32648ea7.json diff --git a/.sqlx/query-cca2b280d655073557f035932eb7919b7e8263eee1e8026d9143a15f12fa81a5.json b/db/.sqlx/query-cca2b280d655073557f035932eb7919b7e8263eee1e8026d9143a15f12fa81a5.json similarity index 100% rename from .sqlx/query-cca2b280d655073557f035932eb7919b7e8263eee1e8026d9143a15f12fa81a5.json rename to db/.sqlx/query-cca2b280d655073557f035932eb7919b7e8263eee1e8026d9143a15f12fa81a5.json diff --git a/.sqlx/query-d1d97d9f6cc8d9777dc4ce38a4b50041db855227c8d465d56e985bad86f0c8d9.json b/db/.sqlx/query-d1d97d9f6cc8d9777dc4ce38a4b50041db855227c8d465d56e985bad86f0c8d9.json similarity index 100% rename from .sqlx/query-d1d97d9f6cc8d9777dc4ce38a4b50041db855227c8d465d56e985bad86f0c8d9.json rename to db/.sqlx/query-d1d97d9f6cc8d9777dc4ce38a4b50041db855227c8d465d56e985bad86f0c8d9.json diff --git a/.sqlx/query-d2014068ac3b84a3682054e13e20ada311b1c36389b60ce8800d52ba4047730c.json b/db/.sqlx/query-d2014068ac3b84a3682054e13e20ada311b1c36389b60ce8800d52ba4047730c.json similarity index 100% rename from .sqlx/query-d2014068ac3b84a3682054e13e20ada311b1c36389b60ce8800d52ba4047730c.json rename to db/.sqlx/query-d2014068ac3b84a3682054e13e20ada311b1c36389b60ce8800d52ba4047730c.json diff --git a/.sqlx/query-d556cb1971f386a7997c2e3dbce191cde2d488c55c05edbfe3746208a782d5f6.json b/db/.sqlx/query-d556cb1971f386a7997c2e3dbce191cde2d488c55c05edbfe3746208a782d5f6.json similarity index 100% rename from .sqlx/query-d556cb1971f386a7997c2e3dbce191cde2d488c55c05edbfe3746208a782d5f6.json rename to db/.sqlx/query-d556cb1971f386a7997c2e3dbce191cde2d488c55c05edbfe3746208a782d5f6.json diff --git a/.sqlx/query-d79f4733454dfe8df4209fa94b3a3512716812561516c0fd602d8b9d9af4eca6.json b/db/.sqlx/query-d79f4733454dfe8df4209fa94b3a3512716812561516c0fd602d8b9d9af4eca6.json similarity index 100% rename from .sqlx/query-d79f4733454dfe8df4209fa94b3a3512716812561516c0fd602d8b9d9af4eca6.json rename to db/.sqlx/query-d79f4733454dfe8df4209fa94b3a3512716812561516c0fd602d8b9d9af4eca6.json diff --git a/.sqlx/query-ee7abc2204854f5934e683d732493037de6b72d3311f10fa0cf74b7ce7ae11bf.json b/db/.sqlx/query-ee7abc2204854f5934e683d732493037de6b72d3311f10fa0cf74b7ce7ae11bf.json similarity index 100% rename from .sqlx/query-ee7abc2204854f5934e683d732493037de6b72d3311f10fa0cf74b7ce7ae11bf.json rename to db/.sqlx/query-ee7abc2204854f5934e683d732493037de6b72d3311f10fa0cf74b7ce7ae11bf.json diff --git a/.sqlx/query-effd0882ab00e5f91a97fa7ee4275775f369e2f8683a6b1aaa87c35984357804.json b/db/.sqlx/query-effd0882ab00e5f91a97fa7ee4275775f369e2f8683a6b1aaa87c35984357804.json similarity index 100% rename from .sqlx/query-effd0882ab00e5f91a97fa7ee4275775f369e2f8683a6b1aaa87c35984357804.json rename to db/.sqlx/query-effd0882ab00e5f91a97fa7ee4275775f369e2f8683a6b1aaa87c35984357804.json diff --git a/.sqlx/query-f613f4cbd2d89bc061e41f69fe913e69d658242344be7c46ba4f4df90f8b74b3.json b/db/.sqlx/query-f613f4cbd2d89bc061e41f69fe913e69d658242344be7c46ba4f4df90f8b74b3.json similarity index 100% rename from .sqlx/query-f613f4cbd2d89bc061e41f69fe913e69d658242344be7c46ba4f4df90f8b74b3.json rename to db/.sqlx/query-f613f4cbd2d89bc061e41f69fe913e69d658242344be7c46ba4f4df90f8b74b3.json diff --git a/.sqlx/query-f90aa1fd76ddf0f667fc77f1cbb02b219aff6d73a3ee1e0afeb9eeea7e194f9d.json b/db/.sqlx/query-f90aa1fd76ddf0f667fc77f1cbb02b219aff6d73a3ee1e0afeb9eeea7e194f9d.json similarity index 100% rename from .sqlx/query-f90aa1fd76ddf0f667fc77f1cbb02b219aff6d73a3ee1e0afeb9eeea7e194f9d.json rename to db/.sqlx/query-f90aa1fd76ddf0f667fc77f1cbb02b219aff6d73a3ee1e0afeb9eeea7e194f9d.json diff --git a/.sqlx/query-fc95525b2ce9e74c243c222a4051fb072d4112c082681b7ce83648eb7d5bd23a.json b/db/.sqlx/query-fc95525b2ce9e74c243c222a4051fb072d4112c082681b7ce83648eb7d5bd23a.json similarity index 100% rename from .sqlx/query-fc95525b2ce9e74c243c222a4051fb072d4112c082681b7ce83648eb7d5bd23a.json rename to db/.sqlx/query-fc95525b2ce9e74c243c222a4051fb072d4112c082681b7ce83648eb7d5bd23a.json diff --git a/.sqlx/query-fd2f782d28612d969aa20eb35ea8da4bfdba6f059dbd45b510122210807ac5b6.json b/db/.sqlx/query-fd2f782d28612d969aa20eb35ea8da4bfdba6f059dbd45b510122210807ac5b6.json similarity index 100% rename from .sqlx/query-fd2f782d28612d969aa20eb35ea8da4bfdba6f059dbd45b510122210807ac5b6.json rename to db/.sqlx/query-fd2f782d28612d969aa20eb35ea8da4bfdba6f059dbd45b510122210807ac5b6.json