Skip to Content
Odoo Menú
  • Registra entrada
  • Prova-ho gratis
  • Aplicacions
    Finances
    • Comptabilitat
    • Facturació
    • Despeses
    • Full de càlcul (IA)
    • Documents
    • Signatura
    Vendes
    • CRM
    • Vendes
    • Punt de venda per a botigues
    • Punt de venda per a restaurants
    • Subscripcions
    • Lloguer
    Imatges de llocs web
    • Creació de llocs web
    • Comerç electrònic
    • Blog
    • Fòrum
    • Xat en directe
    • Aprenentatge en línia
    Cadena de subministrament
    • Inventari
    • Fabricació
    • PLM
    • Compres
    • Manteniment
    • Qualitat
    Recursos humans
    • Empleats
    • Reclutament
    • Absències
    • Avaluacions
    • Recomanacions
    • Flota
    Màrqueting
    • Màrqueting Social
    • Màrqueting per correu electrònic
    • Màrqueting per SMS
    • Esdeveniments
    • Automatització del màrqueting
    • Enquestes
    Serveis
    • Projectes
    • Fulls d'hores
    • Servei de camp
    • Suport
    • Planificació
    • Cites
    Productivitat
    • Converses
    • Validacions
    • IoT
    • VoIP
    • Coneixements
    • WhatsApp
    Aplicacions de tercers Odoo Studio Plataforma d'Odoo al núvol
  • Sectors
    Comerç al detall
    • Llibreria
    • Botiga de roba
    • Botiga de mobles
    • Botiga d'ultramarins
    • Ferreteria
    • Botiga de joguines
    Food & Hospitality
    • Bar i pub
    • Restaurant
    • Menjar ràpid
    • Guest House
    • Distribuïdor de begudes
    • Hotel
    Immobiliari
    • Agència immobiliària
    • Estudi d'arquitectura
    • Construcció
    • Gestió immobiliària
    • Jardineria
    • Associació de propietaris de béns immobles
    Consultoria
    • Empresa comptable
    • Partner d'Odoo
    • Agència de màrqueting
    • Bufet d'advocats
    • Captació de talent
    • Auditoria i certificació
    Fabricació
    • Textile
    • Metal
    • Mobles
    • Menjar
    • Brewery
    • Regals corporatius
    Salut i fitness
    • Club d'esport
    • Òptica
    • Centre de fitness
    • Especialistes en benestar
    • Farmàcia
    • Perruqueria
    Trades
    • Servei de manteniment
    • Hardware i suport informàtic
    • Sistemes d'energia solar
    • Shoe Maker
    • Serveis de neteja
    • Instal·lacions HVAC
    Altres
    • Nonprofit Organization
    • Agència del medi ambient
    • Lloguer de panells publicitaris
    • Fotografia
    • Lloguer de bicicletes
    • Distribuïdors de programari
    Browse all Industries
  • Comunitat
    Aprèn
    • Tutorials
    • Documentació
    • Certificacions
    • Formació
    • Blog
    • Pòdcast
    Potenciar l'educació
    • Programa educatiu
    • Scale-Up! El joc empresarial
    • Visita Odoo
    Obtindre el programari
    • Descarregar
    • Comparar edicions
    • Novetats de les versions
    Col·laborar
    • GitHub
    • Fòrum
    • Esdeveniments
    • Traduccions
    • Converteix-te en partner
    • Services for Partners
    • Registra la teva empresa comptable
    Obtindre els serveis
    • Troba un partner
    • Troba un comptable
    • Contacta amb un expert
    • Serveis d'implementació
    • Referències del client
    • Suport
    • Actualitzacions
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Programar una demo
  • Preus
  • Ajuda

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

  • CRM
  • e-Commerce
  • Comptabilitat
  • Inventari
  • PoS
  • Projectes
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
Ajuda

Apps and Studio settings in Odoo.sh

Subscriure's

Get notified when there's activity on this post

This question has been flagged
StudioOdoo.sh
2 Respostes
1097 Vistes
Avatar
Rutger Hofste

Dear Odoo Community,

We are currently implementing a CRM (and potentially a Helpdesk) for one of our clients. Security is a key requirement, so we are setting up development, staging, and production environments.

I’m happy to share that we've successfully created our first project in Odoo SH, made the first commits to the repository, and everything is running smoothly. I must say, Odoo SH is a powerful tool and I truly appreciate how it streamlines deployment and environment management so far.

That said, I do have a question regarding best practices for promoting changes across environments:

  • The GitHub repository linked to Odoo SH only tracks the files in the repo. As far as I understand, standard Odoo apps are installed and stored in the database rather than being tracked in GitHub.
  • When I install new apps, change system settings, or make configuration updates in staging, I would like these changes to be properly promoted to the production branch.
  • Additionally, our client plans to use Odoo Studio to add custom fields and make small adjustments in staging or dev. We also want to ensure those Studio changes are safely moved to production.

What is the correct way to handle this in Odoo SH? Are there recommended workflows or resources that explain how to properly promote database-level changes and Odoo Studio customizations across environments?

Any guidance, references, or shared experiences would be greatly appreciated.

Thanks in advance

0
Avatar
Descartar
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer

Hi,

In Odoo SH, Git manages all code in your repository, but database-level changes like installed apps, system settings, and Studio customizations are not tracked in Git. This means promoting changes across development, staging, and production requires different approaches depending on the type of change.

For database-level updates, Odoo SH allows you to create a backup of an environment and restore it into another one. This is useful for moving apps and configurations from staging to another environment. However, in production, you generally don’t overwrite the database, since it already contains live data. Instead, you replicate the same steps manually or bundle configurations into proper modules for deployment.

Studio customizations need special attention because they are stored in the database by default. The recommended practice is to export them as modules through Studio and then commit them to the Git repository. This ensures they are versioned, tested, and deployable like any other module, reducing risks of inconsistencies between environments.

A good workflow is to use development for trying new apps and customizations, staging for testing with realistic data, and production only for changes that are managed through Git and exported modules. For configurations that cannot be packaged in modules, apply them carefully in production. This approach keeps your environments consistent and makes deployments more reliable.


Hope it helps

1
Avatar
Descartar
Rutger Hofste
Autor

this is super helpful, thanks

Rutger Hofste
Autor

As a follow up question, when you say: "The recommended practice is to export them as modules through Studio and then commit them to the Git repository" do you mean exporting the .zip file, extracting and adding the contents to the git repo or something else?

Rutger Hofste
Autor

I found this video (also from your company, nice!), but this is a simple export - import. https://www.youtube.com/watch?v=Q3dyGb6uj2o

Avatar
Ray Carnes (ray)
Best Answer

I do it by scripting what is changed / configured in the staging database, so I can re-run the script in Production.

https://www.odoo.com/forum/help-1/easy-way-to-transfer-settings-from-one-database-to-another-can-i-export-them-can-i-programmatically-configure-a-database-184325


Odoo Studio is designed for a single User making relatively simple changes.

Odoo.sh is designed for a team of developers working as a team making complex changes.

Ideally you pick one or the other - so Odoo Studio is not install in most Odoo implemented databases hosted on Odoo.sh.


Odoo Studio changes can be exported and imported between databases - but test this first to ensure the export supports everything you need.

https://www.odoo.com/documentation/master/applications/studio/models_modules_apps.html#export-and-import-customizations

1
Avatar
Descartar
Rutger Hofste
Autor

Thanks for the input Ray, much appreciated. Yesterday I indeed got export-import to work. However it feels a bit clunky. Coming from a Python background I would like to see Studio just modify some sort of configuration file. And the configuration file is tracked in the repo. Upon push, Odoo would use the configuration file in the build.

Rutger Hofste
Autor

OK in addition to this post I contacted Odoo Support and they referred to multiple of your sources, great. The lady in customer support mentioned that the best practice is to make this database schema changes and settings changes still manually in the production environment. I guess that's fine for now. It bothers me that I cannot get the database in a state using a script, the same way a dockerfile works for a container. Anyway, maybe Odoo could consider adding these best practices to the documentation.

Ray Carnes (ray)

Modules can run code the first time they are installed. You can see how we do this by reviewing the source code of the base module at https://github.com/odoo/odoo/blob/19.0/odoo/addons/base/__init__.py

Ray Carnes (ray)

A good primer is at https://www.netilligence.io/blog/what-are-the-different-types-of-hooks-in-odoo-18/

Ray Carnes (ray)

post_init_hook(cr): This hook runs after the module is installed or upgraded, specifically after the database structure changes are applied. This is the hook used to run logic (like data migration or cleanup) every time a module is upgraded or freshly installed.

Rutger Hofste
Autor

very helpful, thanks. I got PGAdmin to work on a local docker instance of Odoo to better understand the database model. very insightful to understand Odoo's inner workings. For now I will keep things simple and just use a bunch of backups, rebuilds etc.

Ray Carnes (ray)

Just be aware up to 30% of the data in any given Odoo database is not persisted in PostgreSQL (calculated/computed fields). Look for Fields in the Odoo Fields Menu (Developer Mode) that are not stored.

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

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

Registrar-se
Related Posts Respostes Vistes Activitat
How to Add a User to Access the Database on Odoo.sh?
Odoo.sh
Avatar
Avatar
1
d’oct. 25
3979
Odoo.SH Github account ownership transfer, trying to change the repository
Odoo.sh
Avatar
Avatar
Avatar
2
de març 25
8000
Creating and using an app created with Studio. Solved
Studio
Avatar
Avatar
1
d’oct. 24
2514
Add table in Tab with Studio
Studio
Avatar
Avatar
Avatar
2
d’oct. 24
3867
Odoo Studio hide field based on other Field Solved
Studio
Avatar
Avatar
1
de jul. 24
3243
Community
  • Tutorials
  • Documentació
  • Fòrum
Codi obert
  • Descarregar
  • GitHub
  • Runbot
  • Traduccions
Serveis
  • Allotjament a Odoo.sh
  • Suport
  • Actualització
  • Desenvolupaments personalitzats
  • Educació
  • Troba un comptable
  • Troba un partner
  • Converteix-te en partner
Sobre nosaltres
  • La nostra empresa
  • Actius de marca
  • Contacta amb nosaltres
  • Llocs de treball
  • Esdeveniments
  • Pòdcast
  • Blog
  • Clients
  • Informació legal • Privacitat
  • Seguretat
الْعَرَبيّة 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 és un conjunt d'aplicacions empresarials de codi obert que cobreix totes les necessitats de la teva empresa: CRM, comerç electrònic, comptabilitat, inventari, punt de venda, gestió de projectes, etc.

La proposta única de valor d'Odoo és ser molt fàcil d'utilitzar i estar totalment integrat, ambdues alhora.

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