This question has been flagged
7 Replies
7649 Views

I am working with Jenkins pipeline. Odoo 13 is running on the production server.

When I start a build (script upgrade) to get production DB and upgrade it.

I have an error

"psycopg2.ProgrammingError: column res_partner.field_name does not exist"

Just after odoo.modules.loading: Modules loaded. and before the upgrade begins
I saw this solution:

https://www.odoo.com/fr_FR/forum/aide-1/question/odoo-13-error-when-adding-a-field-in-res-partner-175628

But I can't do that because as I said I am working with `Jenkins pipeline` I can't manipulate the server by the terminal.

I have this problem only when I want to add a field to the `res_partner` model ...

Avatar
Discard
Best Answer

Hi,

If you are not able to upgrade the module from terminal, you can try to do this trick, remove/comment the field from the code and restart the service, Now there will not be internal server error. Go to the apps menu and open the app that you need to upgrade, keep the page such a way that you can easily click the upgrade button.


Now remove the comment/add the field and restart the service and click the Update button, it will work.


Or if the above is not working, you can try to add the new field from a new module, the above will come only when you add a new field to existing module.


Reference: How To Upgrade Module From Terminal in Odoo


Thanks

Avatar
Discard
Author

Hi Niyas, Thank you for your response.

I am working on a CI-CD environment, once I pushed the code, a new build started! so new DB!

Also, I should found a solution for the build to be successful

Best Answer

Someone have find a solution?


i have the same problem on odoo.sh and I can't force update the single module

Avatar
Discard
Author

For I force update all modules by adding`-u all`

I agree, but in odoo.sh when the build go wrong the state has reset and I can't do the update all.



On 14/10/21 15:26, Maroua ROMDHANE wrote:

For I force update all modules by adding`-u all`

Sent by Odoo S.A. using Odoo.

Best Answer

Hi,

In this case can you try after changing the module version in manifest.

For example

Major version format will be “Odoo major version.x.y.z”.

If a module is developed in version 14.0, the version in the manifest will be
‘version’: ‘14.0.1.0.0’,

ie, X increments when any change happen in the data model or in case of a view,
Y increments when module upgrades needed situations to arise and Z increments when bug fixes are made.

In your case of adding new field try incrementing the X and Y

Regards

Avatar
Discard
Best Answer

Solution is easy, The idea that when adding fields in user/partner/company  in python and xml
odoo has error  and can be solved if you comment the views, till you upgrade the module
then uncomment views and upgrade again! 

May be odoo run views of base module that contains the partner/user/company views   before see new fields in python.

Avatar
Discard
Author

Thanks for your response. I am working in CI-CD environment where you can't execute some commands as you did on local!
I resolved my issue by adding new task ansible with -u all before loading the modules !

Best Answer

I had the same problem and doing as follow fix the issue:

  1. Stop your server
  2. Run this command at first:  python3 odoo-bin --update=purchase_request
  3. Reload your localhost in browser
  4. Upgrade your module
  5. Stop server again
  6. Now, using the old command (The command you use always) start server again
  7. Upgrade your module again
  8. Done.


Avatar
Discard
Best Answer

Possible solutions for this error:

First, you need to use a database manager and connect it to your remote database, then update your module state from installed to 'to upgrade', this force an update from your module and fix error.

The query could be like this:

UPDATE ir_module_module imm
SET state = 'to upgrade'
WHERE imm."name" = 'your module name'

Then restart your server

Avatar
Discard