** Branch unlinked: lp:~zaber/openupgrade-addons/recreate-uom
--
You received this bug notification because you are a member of
OpenUpgrade Committers, which is the registrant for OpenUpgrade Addons.
https://bugs.launchpad.net/bugs/1025896
Title:
New parent constraint is violated on document directories
Status in OpenUpgrade Addons:
New
Bug description:
When I try to upgrade from 5.0.16 to 6.0, I get the following error
(slightly edited):
[...] ERROR:db.cursor:bad query: ALTER TABLE "document_directory" ADD
CONSTRAINT "document_directory_dir_parented" check(parent_id IS NOT NULL OR
storage_id IS NOT NULL)
Traceback (most recent call last):
File "[...]/server/upgrade-6.0/bin/sql_db.py", line 131, in execute
res = self._obj.execute(query, params)
IntegrityError: check constraint "document_directory_dir_parented" is
violated by some row
[...] WARNING:orm.schema:Table 'document_directory': unable to add
'check(parent_id IS NOT NULL OR storage_id IS NOT NULL)' constraint !
If you want to have it, you should update the records and execute manually:
ALTER TABLE "document_directory" ADD CONSTRAINT
"document_directory_dir_parented" check(parent_id IS NOT NULL OR storage_id IS
NOT NULL)
Steps to reproduce:
1. Create a new database in 5.0 with no sample data and the manufacturing
industry profile.
2. Set the view mode to Extended Interface.
3. Leave the default values for all the other setup steps, and set the chart
of accounts to "None".
4. From the Administration menu, choose Modules Management: Modules.
5. Open the document module and install it. Accept the default settings.
6. Run the migration using the options, "--update all --stop-after-init". The
error occurs as listed above.
The full command line I use for the migration is as follows:
python openerp-server.py --database migrationtest --update all
--stop-after-init --addons ~/upgrade-addons-6.0 --config ~/openerp-server.config
Analysis:
The constraint depends on values being in the new storage_id field, but it
has a default value of null.
Suggested fix:
In the pre-migration, add the storage_id field without the foreign key, and
set all records that need a value to use some bogus value. In the
post-migration, update the bogus value to point at a valid storage record, and
add the foreign key. I'll add a merge proposal.
To manage notifications about this bug go to:
https://bugs.launchpad.net/openupgrade-addons/+bug/1025896/+subscriptions
--
Mailing list: https://launchpad.net/~credativ
Post to : [email protected]
Unsubscribe : https://launchpad.net/~credativ
More help : https://help.launchpad.net/ListHelp