aboutsummaryrefslogtreecommitdiff
path: root/src/cli/migrate.rs
diff options
context:
space:
mode:
authorMelody Horn / boringcactus <melody@boringcactus.com>2021-06-16 12:36:47 -0600
committerMelody Horn / boringcactus <melody@boringcactus.com>2021-06-16 12:36:47 -0600
commit685b47247aad71468f190c42929ca6f0dce843fa (patch)
tree7adf64a4c00b9ca8893fab26367ec01a30e24ad9 /src/cli/migrate.rs
parent92bf14bb7cc0c10f67a9a67e7512138c15db6ec0 (diff)
downloadtosin-685b47247aad71468f190c42929ca6f0dce843fa.tar.gz
tosin-685b47247aad71468f190c42929ca6f0dce843fa.zip
make database backends generic
Diffstat (limited to 'src/cli/migrate.rs')
-rw-r--r--src/cli/migrate.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cli/migrate.rs b/src/cli/migrate.rs
new file mode 100644
index 0000000..4b5123a
--- /dev/null
+++ b/src/cli/migrate.rs
@@ -0,0 +1,19 @@
+use structopt::StructOpt;
+
+use crate::{Settings, UrlMap, db::backend::{Connectable, Connection}};
+
+#[derive(StructOpt)]
+/// Perform database migrations
+pub struct Migrate {
+}
+
+impl Migrate {
+ pub fn execute(self, _urls: UrlMap, settings: Settings<impl Connectable>) {
+ let database = settings.database;
+ let connection = database.connect().unwrap();
+
+ let migration_table_vibe_check = connection.transaction::<(), diesel::result::Error, _>(|| {
+ todo!()
+ });
+ }
+}