The 13.0 -> 14.0 data migration died on: duplicate key value violates unique constraint "res_groups_name_uniq" Key (category_id, name)=(9, Allow to define fiscal years of more or less than a year) already exists In 13.0 that security group is declared by the core « account » module, so the database holds it as account.group_fiscal_year. In 14.0 core account no longer declares it and om_account_accountant (odoomates) does. Owning no XML id of its own, the module tries to CREATE the group and collides with the existing row. Renaming the XML id makes Odoo UPDATE the existing record instead. The record id is untouched, so user assignments, access rights and record rules pointing at the group survive -- on the reference database it holds none, but the fix must not depend on that. The fix hook also learns a « .sql » flavour, run through psql. The « .py » flavour is piped into « odoo<target>-bin shell », which requires loading a not-yet-migrated database with the TARGET version's registry -- precisely what is failing at that point. A pure SQL fix needs no ORM and no registry. Verified end to end on a throwaway copy of the stuck database: the statement renames one row, a second run changes nothing, and the full 13->14 OpenUpgrade then completes (« Modules loaded. », base at 14.0.1.3, zero res_groups_name_uniq error). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.