From 26a1bee083384b6f35311d591ea9cd5cadf3e23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabor=20K=C3=B6rber?= Date: Fri, 27 Oct 2023 13:11:20 +0200 Subject: [PATCH] feat: initial user SQL --- src/bin/create_initial_user.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/bin/create_initial_user.rs diff --git a/src/bin/create_initial_user.rs b/src/bin/create_initial_user.rs new file mode 100644 index 0000000..c480aa4 --- /dev/null +++ b/src/bin/create_initial_user.rs @@ -0,0 +1,27 @@ +#[cfg(feature = "use_barrel")] +use barrel::{backend, functions, types, Migration, Table}; +#[cfg(feature = "use_barrel")] +use sqlformat::{format, FormatOptions, QueryParams}; + +#[cfg(feature = "use_barrel")] +fn main() { + let mut m = Migration::new(); + + m.create_table("users", |t: &mut Table| { + t.add_column("id", types::primary()); + t.add_column("username", types::varchar(150).unique(true)); + t.add_column("first_name", types::varchar(150).nullable(true)); + t.add_column("last_name", types::varchar(150).nullable(true)); + t.add_column("email", types::varchar(255).nullable(true)); + t.add_column("is_staff", types::boolean().default(false)); + t.add_column("is_active", types::boolean().default(true)); + t.add_column( + "date_joined", + types::datetime().default(functions::current_timestamp()), + ); + }); + + let sql = m.make::(); + let formatted_sql = format(&sql, &QueryParams::None, FormatOptions::default()); + println!("{}", formatted_sql); +}