Fix DB setup: savepoints for seed, deduplicate AddField, field fixes

Critical fixes for fresh DB creation:
- AddField now skips duplicates (ExtendModel from multiple modules
  was adding same field twice → duplicate column error)
- SeedWithSetup wrapped in savepoints per seed block (one failing
  INSERT no longer aborts entire transaction)
- sale.order.cancel: display_name → cancel_reason (avoid magic field clash)
- purchase: removed duplicate supplier_rank (already on res.partner)
- safeExec helper: SAVEPOINT + ROLLBACK TO on error

Fresh DB creation now works:
- /web/database/create → creates all tables, seeds data, returns session
- Login works immediately after creation
- All 191 models, 51 menus, 34 actions seeded

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marc
2026-04-04 01:37:10 +02:00
parent fad2a37d1c
commit 5973a445c0
4 changed files with 34 additions and 16 deletions

View File

@@ -570,7 +570,6 @@ func initResPartnerPurchaseExtension() {
orm.Integer("purchase_order_count", orm.FieldOpts{
String: "Purchase Order Count", Compute: "_compute_purchase_order_count",
}),
orm.Integer("supplier_rank", orm.FieldOpts{String: "Vendor Rank"}),
orm.Monetary("purchase_order_total", orm.FieldOpts{
String: "Total Purchases", Compute: "_compute_purchase_order_total", CurrencyField: "currency_id",
}),