mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-26 05:15:20 +00:00
fix(asset): skip missing checkbox columns in asset type patch (#58416)
This commit is contained in:
@@ -3,13 +3,19 @@ from frappe.query_builder import Case
|
||||
|
||||
|
||||
def execute():
|
||||
Asset = frappe.qb.DocType("Asset")
|
||||
# v15 sites never had is_composite_component; only migrate columns that exist.
|
||||
column_values = (
|
||||
("is_existing_asset", "Existing Asset"),
|
||||
("is_composite_asset", "Composite Asset"),
|
||||
("is_composite_component", "Composite Component"),
|
||||
)
|
||||
existing = [(col, value) for col, value in column_values if frappe.db.has_column("Asset", col)]
|
||||
if not existing:
|
||||
return
|
||||
|
||||
frappe.qb.update(Asset).set(
|
||||
Asset.asset_type,
|
||||
Case()
|
||||
.when(Asset.is_existing_asset == 1, "Existing Asset")
|
||||
.when(Asset.is_composite_asset == 1, "Composite Asset")
|
||||
.when(Asset.is_composite_component == 1, "Composite Component")
|
||||
.else_(""),
|
||||
).run()
|
||||
Asset = frappe.qb.DocType("Asset")
|
||||
case = Case()
|
||||
for column, value in existing:
|
||||
case = case.when(getattr(Asset, column) == 1, value)
|
||||
|
||||
frappe.qb.update(Asset).set(Asset.asset_type, case.else_("")).run()
|
||||
|
||||
Reference in New Issue
Block a user