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); +}