Maîtriser Odoo : Guide de l'Utilisation du Shell Odoo

Le shell Odoo est un outil inestimable pour la gestion et le développement dans Odoo.

Introduction au Shell Odoo

Le shell Odoo est un outil puissant qui offre une interface en ligne de commande pour interagir avec votre instance Odoo. Que vous soyez un administrateur système ou un développeur, comprendre comment utiliser le shell Odoo peut considérablement simplifier diverses tâches de gestion et de développement. Dans ce tutoriel, nous explorerons les fonctionnalités essentielles du shell Odoo pour vous aider à tirer le meilleur parti de cette interface flexible. Cela ouvre la porte à une gamme étendue de fonctionnalités, de la gestion des bases de données aux tests en passant par le développement de modules personnalisés.

Prérequis

Assurez-vous d'avoir Odoo installé et opérationnel sur votre système avant de commencer. Si ce n'est pas le cas, consultez la documentation officielle d'Odoo pour l'installation.

Avant de plonger dans le shell Odoo, connectez-vous à votre instance en utilisant la commande suivante :

            
              odoo-bin shell -d nom_de_votre_base_de_données 
            
          

Assurez-vous de remplacer "nom_de_votre_base_de_données" par le nom de la base de données Odoo à laquelle vous souhaitez accéder.

Exploration du Shell Odoo

1. Afficher les Objets Odoo

Le shell Odoo vous permet d'interagir avec les objets Odoo directement depuis la ligne de commande. Pour afficher tous les objets disponibles, utilisez la commande suivante : env['ir.model'].search([]) Cette commande renvoie une liste des objets Odoo disponibles dans votre instance.

2. Manipuler les Enregistrements

Utilisez le shell pour manipuler les enregistrements dans Odoo. Par exemple, pour afficher tous les enregistrements de l'objet "res.partner", vous pouvez utiliser :

partners = env['res.partner'].search([])

for partner in partners:

    print(partner.name)

3. Effectuer des Opérations sur les Enregistrements

Vous pouvez également effectuer des opérations sur les enregistrements directement depuis le shell. Par exemple, pour mettre à jour le nom d'un partenaire, utilisez :

partner_to_update = env['res.partner'].search([('name', '=', 'Nom du partenaire')])

partner_to_update.write({'name': 'Nouveau Nom'})



Script python pour manipuler les bases de données et le filestore Odoo

Ne perdez plus votre temps sur l'interface web passez tout sur la cli Odoo



Créons un fichier python odoo-shell-backup-database.py


Dans l'environnement virtuel python où nous avons installé Odoo lançons la commande

python Odoo-shell-cmd.py --dumpdb=odoo-my-database-name



Le fichier .zip est crée dans le répertoire actuel



Le contenu du fichier





Et bien d'autres possibilités...

Création d'une nouvelle base

python Odoo-shell-cmd.py --createdb=odoo-my-database-name --lang=fr_FR

Dupliquer une base

python Odoo-shell-cmd.py --duplicate-origin=odoo-my-database-name --new=odoo-my-database-name-new

Suppresion d'une base

python Odoo-shell-cmd.py --dropdb=odoo-my-database-name

Renommer une base

python Odoo-shell-cmd.py --old-dbname=odoo-my-database-name --new=odoo-my-database-name-new

 

Lister les bases

python Odoo-shell-cmd.py --list

restaurer une base

python Odoo-shell-cmd.py --restoredb=odoo-my-database-name --zipfile=backup-odoo-my-database-name_2024-01-27_20-24-05.zip


Cron pour la sauvegarde quotidienne

Prérequis installation odoo (v15) & python >= 3.7


$ mkdir odoo-project

$ cd odoo-project && git clone git clone https://github.com/odoo/odoo.git --branch 15.0 --depth=1

$ python3 -m venv odoo

$ source odoo/bin/activate

$ pip install -U pip

$ pip install whell

$ pip install -r requirements.txt

$ pip install -e odoo

Verifions la version de Odoo

$ odoo --version


Créons notre script de manipulation de la db via odoo-shell ici



Lançons un test de sauvegarde

$ $(pwd)/odoo/bin/python $(pwd)/Odoo-shell-cmd.py --dumpdb=my-new-database




Votre cron pourrait ressembler à ceci

50 23 * * * cd /my-odoo-path && odoo/bin/python Odoo-shell-cmd.py --dumpdb=my-db-to-dump


Le Shell Odoo est un outil puissant pour interagir avec votre instance Odoo de manière flexible. En comprenant ses fonctionnalités de base, vous pouvez accélérer le développement, déboguer efficacement et maximiser l'utilisation d'Odoo