Skip to Content
Odoo Menu
  • Prijavi
  • 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
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

Development / Production

Naroči se

Get notified when there's activity on this post

This question has been flagged
developmentserver
4 Odgovori
15619 Prikazi
Avatar
Dave Ellison

I have been thinking about the development of an OpenERP instance. What I want to do, is to have two databases. One is development database, I will duplicate that for live initially.

That part is easy, but what I want to do is to develop on the seperate database, but push changes over to the product server automatically, where possible. Has anyone tried a dev/prod environment before? If so, how were the changes push across?

Or do most people just document the changes and do the same on the PROD server?

3
Avatar
Opusti
Avatar
agb80
Best Answer

Personally I don't have tried this https://pypi.python.org/pypi/oerpenv/1.7.61 but seems to me as the most promising option for make exactly what you want: easy setup of diferent environments with diferent/same databases.

2
Avatar
Opusti
Dave Ellison
Avtor

Ah, that sounds like the tool that might do the job.

Brendan Clune

From what I can tell, oerpenv creates different versions of servers, but not necessarily databases. It doesn't look like it can pull database changes from a test db to production.

Martin

Also, I see no way to tell it to use V7 or V6.1, without digging into the Python code.

Avatar
Jānis
Best Answer

Use bazaar:

http://bazaar.canonical.com/

4
Avatar
Opusti
Dave Ellison
Avtor

Hi thanks for your response. How I can use Bazaar to push database changes over my existing production server? I understood Bazaar to be a project/version control system?

agb80

Use a versioning system for a database never would be a good idea because at the end you are going to make lot of manual merges.

Daniel Reis

"Use bazaar" + a link is not really an answer.

Avatar
Martin
Best Answer

You might like to take a step back for a minute and consider that there is an entire Information Technology discipline devoted to this kind of problem -- DevOps!

It's goal is to achieve zero delay between completion of a task in development and final deployment in production!! Not achievable in any organization larger than one person of course, but the intention is of vital importance nevertheless.

Tools involved :

  • Continuous Integration (CI) servers, such as Jenkins
  • Functional Integration Testing (FIT) and Behaviour Driven Development (BDD) tools, such as Fitnesse, Cucumber or Freshen
  • Configuration Management Servers (CMS), such as Chef, Puppet and Vagrant
  • Process automation servers, such as RunDeck, Ansible and Salt
  • Browser automation tools like Geb or Selenium
  • Version contol servers like Bazaar/Launchpad and Git/GitHub
  • Server virtualization, like KVM & VirtualBox

Where Brendan (answer above) says . . .

For those changes, manual propagation seems like the best option. For these changes, make them on the development database, create a document showing your changes, and have another developer attempt to recreate the changes on a copy of production.

. . . DevOps would reply . . .

Every development-to-operations task must be described by executable documentation and tested automatically. Manually tasks on a production server are forbidden. The development process must include development, testing and approval of the automation steps. The steps and the tests of the steps must themselves be version controlled as integral parts of the full system.

I agree with Brendan that it doesn't look like oerpenv can pull database changes from a test db to production. That does not mean it would not be a very useful arrow in your DevOps quiver. I was unaware of it and will begin to use it. But, not manually. I'll call it from RunDeck, which allows me to build a library of scenarios of tasks and keeps gives a permanent log of tasks performed.

The real issue is the number of, and scale of, the sites you have to manage. A small operation (like me :-) ) might just automate a few tasks through Rundeck. A medium team might see a need to have Jenkins build the app, execute unit tests and then call RunDeck jobs to apply data transformations. A large organization might have a team of experts just preparing Cucumber tests for delivery to the Jenkins admin, while the operations sysadmins deploy and provision servers with Chef.

Some of the tools above are a bit like the game Othello -- "Minutes to learn. Years to master." -- so be careful.

3
Avatar
Opusti
Avatar
Brendan Clune
Best Answer

Keeping database changes in sync is definitely a challenge when developing for OpenERP. Changes made and tested in a development database need to be well documented and manually propagated to production. Of course, this manual propagation is prone to error when documentation doesn't quite line up with actions taken on the development database.

To combat this, our development team makes as many changes as possible in custom modules, which can then be tested on a clean copy of the production database. While this incurs more development overhead, it also results in fewer errors during deployment.

That said, there's still changes to configurations and other data that can't be cleanly captured in a module (or are small enough that module boilerplate doesn't make sense). For those changes, manual propagation seems like the best option. For these changes, make them on the development database, create a document showing your changes, and have another developer attempt to recreate the changes on a copy of production. Any discrepancy between actions and documentation should hopefully show up during this step.

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

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

Prijavi
Related Posts Odgovori Prikazi Aktivnost
How can I reload source code without restarting the OpenERP server?
development server
Avatar
Avatar
Avatar
2
mar. 15
13000
display custom form for res.partner subclass when clicking partner internal link
development views server
Avatar
0
jun. 24
2122
start server on windows from source
development windows server
Avatar
0
mar. 15
4278
MrpBom _skip_bom_line skips line of product that has two multi-choice attribute values when both are selected in Apply to variant
development
Avatar
0
nov. 25
59
How to make all branches for user active automatically after login his account?
development
Avatar
0
nov. 25
143
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