diff --git a/api/src/main.rs b/api/src/main.rs index 53fe880..a04ecb9 100644 --- a/api/src/main.rs +++ b/api/src/main.rs @@ -184,9 +184,18 @@ async fn server(opts: ServerOpts) -> Result<()> { } async fn migrate(opts: MigrateOpts) -> Result<()> { + use sqlx::migrate::MigrateError; + let db = database::Database::build(&opts.db_url()).await?; - sqlx::migrate!("../db/migrate").run(db.pool()).await.expect("Failed to migrate"); - Ok(()) + let res: std::result::Result<(), MigrateError> = + sqlx::migrate!("../db/migrate").run(db.pool()).await; + match res { + Ok(()) => return Ok(()), + Err(e) => { + eprintln!("{e}"); + std::process::exit(1); + } + }; } async fn generate_hash(_opts: GenerateHashOpts) -> Result<()> { diff --git a/db/migrate/202204172215_delivery_and_price.sql b/db/migrate/202204172215_delivery_and_price.sql index 30604fa..31dc475 100644 --- a/db/migrate/202204172215_delivery_and_price.sql +++ b/db/migrate/202204172215_delivery_and_price.sql @@ -1,5 +1,3 @@ -BEGIN; - CREATE TYPE "Price" AS ( "value" integer, "currency" varchar @@ -10,5 +8,3 @@ ADD COLUMN "deliver_days_flag" int NOT NULL -- 0x1111111 DEFAULT 127; - -COMMIT; diff --git a/db/migrate/202204180708_add_payment_fields.sql b/db/migrate/202204180708_add_payment_fields.sql new file mode 100644 index 0000000..152293b --- /dev/null +++ b/db/migrate/202204180708_add_payment_fields.sql @@ -0,0 +1,5 @@ +ALTER TABLE accounts +ADD COLUMN customer_id uuid not null default gen_random_uuid(); + +ALTER TABLE account_orders +ADD COLUMN order_id varchar unique;