# scripts/uninstall_old_modules.py # odoo-bin -d deine_datenbank -i open_workshop --load-script=scripts/uninstall_old_modules.py ''' - name: Uninstall old modules run: | odoo-bin -d hobbyhimmel --load-script=scripts/uninstall_old_modules.py - name: Install open_workshop run: | odoo-bin -d hobbyhimmel -u open_workshop ''' from odoo import api, SUPERUSER_ID from odoo.modules.registry import Registry modules_to_uninstall = [ 'vvow_einweisungen' ] with api.Environment.manage(): registry = Registry("hobbyhimmel") # Wird beim Shell-Aufruf überschrieben with registry.cursor() as cr: env = api.Environment(cr, SUPERUSER_ID, {}) for module_name in modules_to_uninstall: module = env['ir.module.module'].search([('name', '=', module_name)], limit=1) if module and module.state == 'installed': print(f"Uninstalling module: {module_name}") module.button_immediate_uninstall() else: print(f"Module not found or not installed: {module_name}") cr.commit()