Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Execute query when installing addon

Subscribe

Get notified when there's activity on this post

This question has been flagged
modulesaddonsormquery
2 Replies
10980 Views
Avatar
Clément TheSecond

Is it possible to execute some queries when somedy install my module ?

And is it possible to execute others queries when uninstalling the same module ?

2
Avatar
Discard
Avatar
Temur
Best Answer

init_xml that you found is ok.

For an action at installation time, you can also use "function" tag in any normal xml data file, thus calling a function from specified model, see example of "function" tag  in the answer here. 

For an action at uninstall time (as well as at install time) may work following workaround:

python [8.0 api]:

from openerp import models, fields, api
import logging _logger = logging.getLogger(__name__)

class handle_install_uninstall(models.Model): _name = "handle.install.uninstall"

name = fields.Char('Name')

@api.model
def create(self, vals):
_logger.info("Installing...") # installation time code... # you can use self.env.cr or self._cr here... return super(handle_install_uninstall,self).create(vals)

@api.multi def unlink(self): _logger.info('Uninstalling...") # uninstall time code... # you can use self.env.cr or self._cr here...
return super(handle_install_uninstall,self).unlink()

XML:

<openerp>
    <data>
        <record id="handle_install_uninstall_rec" model="handle.install.uninstall">
<field name="name">Install - uninstall handler</field>
</record> </data> </openerp>

add the above XML file in __openerp__.py manifest as normal 'data' xml file. then record of this model will be created at installation time (consequently "create" method is called and your code executed), when you uninstall module, then record created this way will be deleted at uninstall time, so if this deletion does not bypass the Odoo ORM, then "unlink" will be called and your uninstallation time code will be executed. please make sure that you do not create more then one record of this object in the same database in order to have your code called only once. I never tried this, but normally it should work. Probably there should be better way to call function at uninstallation time, but I do not know such. 


6
Avatar
Discard
Clément TheSecond
Author

All worked perfectly. When installing AND when uninstalling. Thank you very much.

Temur

you're welcome

Avatar
Clément TheSecond
Author Best Answer

I've found a part of my answer, to execute SQL query when installing my module, I must add :

'init_xml' : ['query.sql']

in the file __openerp__.py.

But I still don't know how to execute query when uninstalling the module.

5
Avatar
Discard
IB Teguh TM

Thank you. your comment help me alot

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
ORM Query Search Solved
orm query
Avatar
Avatar
Avatar
7
Apr 22
15819
How to properly completely remove an addon from cli/backend?
modules addons
Avatar
Avatar
1
Mar 17
7441
Tutorial that explains interaction with the OpenERP ORM?
modules orm
Avatar
Avatar
Avatar
2
Mar 15
11660
Can't delete buttons Solved
modules addons errors
Avatar
Avatar
1
Dec 23
5450
What does OSV mean in OpenERP modules?
modules orm osv
Avatar
Avatar
Avatar
Avatar
3
Jan 20
39231
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now