Upgrading From 3.11 To 3.12
This migration guide describes the upgrade from versions 3.11 to 3.12. Version 3.12 contains the following breaking changes:
Order settings moved to Channel type
We moved orderSettings
to Channel
. The changes affect the database models and the schema.
To follow the zero-downtime strategy when upgrading to 3.12, we recommend migrating to 3.11.4 first. Otherwise, you will need to downtime your solution to ensure correct data migration.
Changes in the discount rounding mode
We changed the discount rounding mode from ROUND_DOWN
to ROUND_HALF_UP
.
The change affects the discount amount and total price of future Checkouts
,
as well as Orders
with an applied percentage discount.
Now, the discount amount might be 0.01 greater, and the total price might be 0.01 lower.
If you do any calculations on the discount amount or total price, you might need to consider that.
Example:
If you had an order for $13.00 and applied a 12.5% discount to it, you would get $11.38 with a $1.62 discount.
In Saleor 3.12.0, the numbers would be $11.37 for the order and $1.63 for the discount.
Include specific products and apply-once-per-order vouchers in checkout discount
The change affects value of the Checkout.discount
field when a specific product
voucher or apply-once-per-order
voucher is used.
Previously, the checkout discount for such cases was 0, and the discount was only visible on the line level.
Now, the checkout discount will reflect the amount of the applied discount regardless of the voucher type.