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