OpenUpgrade icon indicating copy to clipboard operation
OpenUpgrade copied to clipboard

[12.0 to 13.0] Error when update point_of_sale module

Open david19942 opened this issue 1 month ago • 0 comments

Hi, after several migrations of my Odoo databases, I've encountered one that differs from the others, as it has a point of sale module, while the rest do not.

There's a problem I can't seem to solve, preventing me from continuing the migration to other versions.

When attempting to update the point_of_sale module to version 13, the openupgrade log shows the following error (I've included the full error trace):

2025-11-06 12:42:26,895 13 INFO ddbb_odoo odoo.modules.loading: loading point_of_sale/views/report_userlabel.xml 
2025-11-06 12:42:26,909 13 INFO ddbb_odoo odoo.modules.loading: loading point_of_sale/views/report_saledetails.xml 
2025-11-06 12:42:26,927 13 INFO ddbb_odoo odoo.modules.loading: loading point_of_sale/views/point_of_sale_dashboard.xml 
2025-11-06 12:42:26,972 13 INFO ddbb_odoo odoo.modules.migration: module point_of_sale: Running migration [13.0.1.0.1>] post-migration 
2025-11-06 12:42:26,973 13 INFO ddbb_odoo OpenUpgrade: point_of_sale: post-migration script called with version 12.0.1.0.1 
2025-11-06 12:42:26,974 13 DEBUG ddbb_odoo OpenUpgrade: 0 rows affected after 0:00:00.000652 running 
        UPDATE pos_config pc
        SET default_cashbox_id = absc.id
        FROM account_cashbox_line acl
        JOIN account_bank_statement_cashbox absc ON acl.cashbox_id = absc.id
        WHERE acl.openupgrade_legacy_13_0_default_pos_id = pc.id
         
2025-11-06 12:42:27,013 13 DEBUG ddbb_odoo OpenUpgrade: 2 rows affected after 0:00:00.039169 running 
        UPDATE pos_config pc
        SET amount_authorized_diff = aj.openupgrade_legacy_13_0_amount_authorized_diff
        FROM account_bank_statement abs
        JOIN account_journal aj ON abs.journal_id = aj.id
        JOIN pos_session ps ON abs.pos_session_id = ps.id
        WHERE ps.config_id = pc.id AND pc.amount_authorized_diff IS NULL
            AND aj.openupgrade_legacy_13_0_amount_authorized_diff IS NOT NULL
         
2025-11-06 12:42:27,258 13 DEBUG ddbb_odoo OpenUpgrade: 3348 rows affected after 0:00:00.244355 running 
        UPDATE pos_session ps
        SET move_id = po.openupgrade_legacy_13_0_account_move
        FROM pos_order po
        WHERE po.session_id = ps.id AND po.openupgrade_legacy_13_0_account_move IS NOT NULL
            AND ps.move_id IS NULL AND ps.state = 'closed'
         
2025-11-06 12:42:27,338 13 DEBUG ddbb_odoo OpenUpgrade: 2 rows affected after 0:00:00.079656 running 
        UPDATE pos_order po
        SET account_move = am.id
        FROM account_invoice ai
        JOIN account_move am ON am.old_invoice_id = ai.id
        WHERE po.openupgrade_legacy_13_0_invoice_id = ai.id
         
2025-11-06 12:42:27,338 13 DEBUG ddbb_odoo OpenUpgrade: 0 rows affected after 0:00:00.000369 running 
        UPDATE pos_config pc
        SET barcode_nomenclature_id = rc.nomenclature_id
        FROM res_company rc
        WHERE pc.company_id = rc.id AND pc.barcode_nomenclature_id IS NULL
         
2025-11-06 12:42:27,339 13 DEBUG ddbb_odoo OpenUpgrade: 0 rows affected after 0:00:00.000188 running DELETE FROM pos_order_line WHERE order_id IS NULL 
2025-11-06 12:42:27,339 13 DEBUG ddbb_odoo OpenUpgrade: Deleting record for XML-ID point_of_sale.pos_sale_journal 
2025-11-06 12:42:27,340 13 DEBUG ddbb_odoo OpenUpgrade: Deleting record account.journal#9 
2025-11-06 12:42:41,231 13 INFO ddbb_odoo OpenUpgrade: Error deleting XML-ID point_of_sale.pos_sale_journal: ForeignKeyViolation('update or delete on table "account_journal" violates foreign key constraint "account_move_journal_id_fkey" on table "account_move"\nDETAIL:  Key (id)=(9) is still referenced from table "account_move".\n') 
2025-11-06 12:42:41,232 13 DEBUG ddbb_odoo OpenUpgrade: Deleting record for XML-ID point_of_sale.seq_picking_type_posout 
2025-11-06 12:42:41,234 13 DEBUG ddbb_odoo OpenUpgrade: Deleting record ir.sequence#29 
2025-11-06 12:42:41,267 13 INFO ddbb_odoo odoo.models.unlink: User #1 deleted ir.model.data records with IDs: [14240] 
2025-11-06 12:42:41,267 13 INFO ddbb_odoo odoo.models.unlink: User #1 deleted ir.sequence records with IDs: [29] 
2025-11-06 12:42:41,267 13 INFO ddbb_odoo OpenUpgrade: point_of_sale: loading migrations/13.0.1.0.1/noupdate_changes.xml 
2025-11-06 12:42:41,284 13 INFO ddbb_odoo odoo.models.unlink: User #1 deleted ir.model.data records with IDs: [14248] 
2025-11-06 12:42:41,407 13 INFO ddbb_odoo odoo.models.unlink: User #1 deleted ir.model.data records with IDs: [14245] 
2025-11-06 12:42:41,437 13 ERROR ddbb_odoo odoo.sql_db: bad query: INSERT INTO "product_template" ("id", "create_uid", "create_date", "write_uid", "write_date", "active", "available_in_pos", "categ_id", "list_price", "purchase_line_warn", "purchase_method", "purchase_ok", "sale_delay", "sale_ok", "sequence", "tracking", "type", "uom_id", "uom_po_id") VALUES (nextval('product_template_id_seq'), 1, (now() at time zone 'UTC'), 1, (now() at time zone 'UTC'), true, false, 1, '1.00', 'no-message', 'receive', true, 0.0, true, 1, 'none', 'consu', 1, 1) RETURNING id
ERROR: null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
 
2025-11-06 12:42:41,437 13 ERROR ddbb_odoo OpenUpgrade: point_of_sale: error in migration script /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/post-migration.py: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo> 
2025-11-06 12:42:41,438 13 ERROR ddbb_odoo OpenUpgrade: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo> 
Traceback (most recent call last):
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.NotNullViolation: null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 2406, in wrapped_function
    func(
  File "/opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/post-migration.py", line 148, in migrate
    openupgrade.load_data(env.cr, 'point_of_sale', 'migrations/13.0.1.0.1/noupdate_changes.xml')
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 389, in load_data
    tools.convert_xml_import(env_or_cr, module_name, fp, idref, mode=mode)
  File "/opt/openupgrade/odoo/tools/convert.py", line 808, in convert_xml_import
    obj.parse(doc.getroot())
  File "/opt/openupgrade/odoo/tools/convert.py", line 720, in parse
    pycompat.reraise(
  File "/opt/openupgrade/odoo/tools/pycompat.py", line 13, in reraise
    raise value.with_traceback(tb)
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
odoo.tools.convert.ParseError: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo>
2025-11-06 12:42:41,441 13 ERROR ddbb_odoo odoo.modules.loading: Error executing post migration script for module point_of_sale
`-> l10n_es_pos
`-> pos_cash_rounding
`-> pos_epson_printer
`-> pos_order_mgmt
: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo> 
2025-11-06 12:42:41,448 13 ERROR ddbb_odoo odoo.modules.registry: Failed to load registry 
Traceback (most recent call last):
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.NotNullViolation: null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/openupgrade/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/openupgrade/odoo/modules/loading.py", line 487, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/opt/openupgrade/odoo/modules/loading.py", line 365, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/opt/openupgrade/odoo/modules/loading.py", line 256, in load_module_graph
    migrations.migrate_module(package, 'post')
  File "/opt/openupgrade/odoo/modules/migration.py", line 191, in migrate_module
    migrate(self.cr, installed_version)
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 2406, in wrapped_function
    func(
  File "/opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/post-migration.py", line 148, in migrate
    openupgrade.load_data(env.cr, 'point_of_sale', 'migrations/13.0.1.0.1/noupdate_changes.xml')
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 389, in load_data
    tools.convert_xml_import(env_or_cr, module_name, fp, idref, mode=mode)
  File "/opt/openupgrade/odoo/tools/convert.py", line 808, in convert_xml_import
    obj.parse(doc.getroot())
  File "/opt/openupgrade/odoo/tools/convert.py", line 720, in parse
    pycompat.reraise(
  File "/opt/openupgrade/odoo/tools/pycompat.py", line 13, in reraise
    raise value.with_traceback(tb)
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
odoo.tools.convert.ParseError: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo>
2025-11-06 12:42:41,450 13 CRITICAL ddbb_odoo odoo.service.server: Failed to initialize database `ddbb_odoo`. 
Traceback (most recent call last):
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.NotNullViolation: null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/openupgrade/odoo/service/server.py", line 1194, in preload_registries
    registry = Registry.new(dbname, update_module=update_module)
  File "/opt/openupgrade/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/openupgrade/odoo/modules/loading.py", line 487, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/opt/openupgrade/odoo/modules/loading.py", line 365, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/opt/openupgrade/odoo/modules/loading.py", line 256, in load_module_graph
    migrations.migrate_module(package, 'post')
  File "/opt/openupgrade/odoo/modules/migration.py", line 191, in migrate_module
    migrate(self.cr, installed_version)
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 2406, in wrapped_function
    func(
  File "/opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/post-migration.py", line 148, in migrate
    openupgrade.load_data(env.cr, 'point_of_sale', 'migrations/13.0.1.0.1/noupdate_changes.xml')
  File "/usr/local/lib/python3.8/site-packages/openupgradelib/openupgrade.py", line 389, in load_data
    tools.convert_xml_import(env_or_cr, module_name, fp, idref, mode=mode)
  File "/opt/openupgrade/odoo/tools/convert.py", line 808, in convert_xml_import
    obj.parse(doc.getroot())
  File "/opt/openupgrade/odoo/tools/convert.py", line 720, in parse
    pycompat.reraise(
  File "/opt/openupgrade/odoo/tools/pycompat.py", line 13, in reraise
    raise value.with_traceback(tb)
  File "/opt/openupgrade/odoo/tools/convert.py", line 717, in parse
    self._tag_root(de)
  File "/opt/openupgrade/odoo/tools/convert.py", line 679, in _tag_root
    f(rec)
  File "/opt/openupgrade/odoo/tools/convert.py", line 582, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/opt/openupgrade/odoo/models.py", line 4203, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "/opt/openupgrade/odoo/models.py", line 4104, in _load_records_create
    return self.create(values)
  File "<decorator-gen-125>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product.py", line 324, in create
    products = super(ProductProduct, self.with_context(create_product_product=True)).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3820, in create
    parents = self.env[model_name].create([
  File "<decorator-gen-122>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/product/models/product_template.py", line 380, in create
    templates = super(ProductTemplate, self).create(vals_list)
  File "<decorator-gen-111>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/addons/mail/models/mail_thread.py", line 269, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "/opt/openupgrade/odoo/api.py", line 339, in _model_create_multi
    return create(self, arg)
  File "/opt/openupgrade/odoo/models.py", line 3828, in create
    records = self._create(data_list)
  File "/opt/openupgrade/odoo/models.py", line 3934, in _create
    cr.execute(query, params)
  File "/opt/openupgrade/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/openupgrade/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
odoo.tools.convert.ParseError: "null value in column "name" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (72413, null, 1, null, null, null, consu, null, 1, 1.00, null, t, t, 1, 1, null, t, null, null, null, 1, 2025-11-06 12:42:21.997882, 1, 2025-11-06 12:42:21.997882, null, null, null, null, null, null, 0, none, null, null, null, f, null, null, receive, no-message, null, null, null, null, null, null).
" while parsing /opt/openupgrade/addons/point_of_sale/migrations/13.0.1.0.1/noupdate_changes.xml:2, near
<odoo>
<!--  <record id="pos_config_main" model="pos.config">
    <field name="picking_type_id"/>
  </record>-->
  <record id="product_product_consumable" model="product.product">
    <field name="default_code">DISC</field>
<!--    <field name="image_1920" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/>-->
    <field name="list_price">0.00</field>
    <field name="name">Discount</field>
    <field name="standard_price">0.00</field>
    <field name="purchase_ok">False</field>
    <field name="weight">0.00</field>
  </record>
  <record id="product_product_tip" model="product.product">
<!--    <field name="taxes_id" eval="[(5,)]"/>-->
    <field name="weight">0.01</field>
  </record>
  <record id="seq_pos_session" model="ir.sequence">
    <field name="padding">5</field>
    <field name="prefix">POS/</field>
  </record>
</odoo>
2025-11-06 12:42:41,450 13 INFO ddbb_odoo odoo.service.server: Initiating shutdown 
2025-11-06 12:42:41,450 13 INFO ddbb_odoo odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown. 
2025-11-06 12:42:41,452 13 INFO ddbb_odoo odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 1 connections

Thanks in advance!

david19942 avatar Nov 06 '25 13:11 david19942