How-To Guides
Quick Update (Dev Mode)

Quick Update Your Environment

Speed up your development workflow with Quick Update - apply code changes without full redeployment.


Why Quick Update?

  • Fast iteration on code changes (seconds instead of minutes)
  • No database recreation or addon reinstallation
  • Keep your session and test data intact
  • Three modes for different types of changes

Prerequisites

Before using Quick Update, ensure:

  1. Environment is running - Quick Update only works on active environments
  2. Dev mode is enabled - Configure in Settings > Odoo Configuration

Enable Dev Mode

  1. Open your environment
  2. Go to Settings > Odoo Configuration
  3. Enable dev_mode option
  4. Save and deploy once

Once enabled, the Quick Update button appears in your environment actions.


Step 1: Choose Your Update Mode

Restart Only

When to use: Configuration changes, cache clearing, memory issues

What happens:

  1. Container stops
  2. Container starts with same code
  3. Odoo reloads configuration

Time: ~10 seconds

Best for:

  • Testing odoo.conf changes
  • Clearing Python bytecode cache
  • Recovering from memory issues
  • Forcing session reload

Pull & Restart

When to use: Code changes that Odoo hot-reloads automatically

What happens:

  1. Git pull from your branch
  2. Container restart
  3. Odoo loads updated code

Time: ~30 seconds

Best for:

  • Python business logic changes
  • QWeb template updates
  • JavaScript and CSS changes
  • Report template changes
  • Most day-to-day development

Tip: Odoo automatically reloads Python files in dev mode. Pull & Restart is your go-to for most code changes.


Update All Modules

When to use: Structural changes that require module updates

What happens:

  1. Git pull from your branch
  2. Runs odoo -u all -d database
  3. Container restart
  4. All modules reloaded

Time: 1-5 minutes (depends on module count)

Best for:

  • New model fields
  • Modified existing fields
  • New models or views
  • Security rules (ir.model.access.csv)
  • Record rules (ir.rule)
  • Manifest changes
  • Menu or action changes

Warning: Update All Modules takes longer because it updates every installed module. Use sparingly.


Step 2: Run the Update

  1. Open your running environment
  2. Click Quick Update in the actions panel
  3. Select your update mode
  4. Click Update
  5. Wait for completion (watch the status indicator)

Your environment stays at the same URL with your data intact.


Development Workflow Examples

Typical Development Day

Morning: Pull & Restart (get latest from team)
    |
Code changes → Pull & Restart
    |
Code changes → Pull & Restart
    |
Add new field → Update All Modules
    |
Code changes → Pull & Restart
    |
End of day: Full Redeploy (clean state)

Debugging a Bug

  1. Reproduce the bug
  2. Add logging/breakpoints
  3. Pull & Restart to apply
  4. Test and iterate
  5. Fix verified? Commit and push

Testing QWeb Changes

  1. Edit your template file
  2. Commit and push
  3. Pull & Restart
  4. Refresh browser - changes appear immediately

Adding a New Field

  1. Add field to model
  2. Add field to view
  3. Commit and push
  4. Update All Modules (required for schema change)
  5. Verify field appears in Odoo

When NOT to Use Quick Update

Use a full Redeploy instead when:

  • Adding new addon repositories
  • Changing PostgreSQL settings
  • Changing resource allocation (CPU/RAM/Disk)
  • Running Alembic migrations
  • Installing new Python packages
  • Switching Git branches
  • Major structural changes

Troubleshooting

Quick Update button not visible

Cause: Dev mode not enabled

Fix:

  1. Go to Settings > Odoo Configuration
  2. Enable dev_mode
  3. Redeploy once
  4. Button will appear

Changes not appearing after Pull & Restart

Cause: Change requires module update (new field, view change)

Fix: Use Update All Modules instead

"Update All Modules" takes too long

Cause: Many modules installed

Tips:

  • For development, install only modules you need
  • Consider updating specific modules via terminal instead
  • Use Pull & Restart for non-structural changes

Git pull fails

Cause: Local changes conflict with remote

Fix:

  1. Access terminal
  2. Check git status
  3. Resolve conflicts or stash changes
  4. Try Quick Update again

Odoo shows errors after update

Fix options:

  1. Check logs for specific error
  2. Try Update All Modules if you used Pull & Restart
  3. Try full Redeploy for clean state
  4. Restore from backup if data corrupted

Terminal Alternatives

For more control, you can run updates via the terminal:

# Restart only
supervisorctl restart odoo
 
# Git pull
cd /opt/odoo && git pull
 
# Update specific module
odoo -d database -u my_module --stop-after-init
 
# Update all modules
odoo -d database -u all --stop-after-init

Best Practices

For Fast Iteration

  1. Use Pull & Restart for most changes
  2. Keep dev environments small (fewer modules)
  3. Commit frequently to enable quick pulls

For Stability

  1. End each day with a full Redeploy
  2. Use Update All Modules after structural changes
  3. Test on development before staging

For Team Development

  1. Pull & Restart to get latest team changes
  2. Communicate when pushing breaking changes
  3. Use staging for integration testing

What's Next?