Author: |
Smile |
License: |
AGPL-3 |
Branch: |
15.0 |
Repository: |
anhvu-sg/odoo_addons |
Dependencies: |
web |
Languages: |
HTML (450, 47.4%),
JavaScript (20, 2.1%),
Python (371, 39.1%),
XML (10, 1.1%),
and
reStructuredText (99, 10.4%) |
Other branches: |
10.0,
12.0,
13.0,
14.0,
15.0-dev-mig-smile-upgrade,
6.1,
7.0,
8.0,
and
9.0 |
Other repositories: |
3dfxmadscientist/odoo_addons,
A-Gut/odoo_addons,
AXOOM/odoo_addons,
AbdelghaniDr/odoo_addons,
Ammoun84/smile_openerp_addons_6.1,
Aquevix/odoo_addons,
AwesomeFoodCoops/odoo-production,
BGEray/odoo_addons,
Boudmir-Ibrahim/odoo_addons,
BryanNah/odoo_addons,
ChrisEnglert/odoo_addons,
ClancyQiao/odoo_addons,
CustomOdoo/odoo_addons,
DITIntl/odoo-production,
DamonLiu0814/odoo_addons,
Dayssam/odoo_addons,
Decikingship/odoo_addons,
ERPLibre/odoo_addons,
GabbasovDinar/odoo_addons,
Gofekra/odoo_addons,
Gonscar88/odoo_addons,
Groupe-Informatique-LaCoopSurMer/odoo-production,
GrupoAlvamex/odoo_addons,
Guobower/Smile-SA-odoo_addons,
H-Max/odoo_addons,
Ingeos/odoo_addons,
Jeisonpernia/odoo_addons-1,
JuanjoA/odoo_addons,
Judystudy/odoo_addons,
Kalway-Technology/odoo_addons,
Kiplangatdan/odoo_addons,
LiberTang0/odoo_addons,
LipingSun/odoo_addons,
Logicasoft/FORK_odoo_addons,
MackZhong/odoo_addons,
MathBenTech/odoo_addons,
Mojoamex05/odoo_addons,
MrZ-777/odoo_addons,
NCS-75/odoo_addons,
Netsoro/odoo_addons,
Numigi/odoo-smile-addons,
OdooBulgaria/odoo_addons,
OdooIndonesia/odoo_addons,
Openworx/odoo_addons,
OpusVL/odoo_addons,
Otsokop/odoo-production,
Palpid/odoo_addons,
RL-OtherApps/odoo_addons,
SanteLibre/odoo_addons,
Smile-SA/odoo_addons,
TheCloneMaster/odoo_addons,
Troublicious/smile_openerp_addons_7.0,
Vauxoo/smile-addons,
VitalPet/odoo_addons,
VizThoughts/odoo_addons,
WEIX-Soliton/odoo_addons,
YeHtut/odoo_addons,
YogeshMahera-SerpentCS/odoo_addons,
YoungEyeBalls/smile_openerp_addons_6.1,
a4435351/odoo_addons,
abdo3247/odoo_addons,
adrianoaguiar/odoo_addons,
ajinvn2019/odoo_addons,
alanljj/odoo_addons-1,
alecodigo/odoo_addons,
alesisjoan/odoo_addons,
altanmur/odoo_addons,
anndream/odoo_addons,
anodino-dev/odoo_addons,
antonioMeneses/odoo_addons,
arasty/odoo_addons,
astirpe/odoo_addons,
avoinsystems/odoo_addons,
azmeuk/odoo-production,
babatoko/odoo-production,
beloeuvre/odoo-production,
bertontin/odoo_addons,
bestshore/odoo-smile-addons,
bjoliveau/odoo_addons,
bmya/odoo_addons,
bopo/odoo_addons,
bunhin/odoo_addons,
cameroun/odoo_addons,
captivea-ylb/odoo_addons,
ccottet/odoo_addons,
chadyred/odoo_addons,
chenzhiming/odoo_addons,
chermed/odoo_addons,
chetanrdhaduk/odoo-production,
clagoa/odoo_addons,
connect-to-ak/odoo_addons,
darkwhite9/odoo_addons,
davidmonterocrespo24/odoo_addons,
davidwah/odoo_addons,
ddico/odoo_addons,
demain-supermarche/odoo-production,
diegobgl/odoo_addons,
dmattosr/odoo_addons,
dndoanh/odoo_addons,
dominiquekonsuntack/odoo_addons,
drmedrme/odoo_addons,
druidoo/FoodCoops,
dtorresxp/smileaddons,
dtthach/odoo_addons,
dzungtran89/odoo-production,
edsersolis/odoo_addons,
eezee-it/odoo_addons,
ejbdev/odoo_addons,
emyu01/odoo_addons,
ericdai/odoo_addons,
estevebadia/odoo-production,
etoanik/odoo_addons,
fachmimaasy/odoo_addons,
feiyaogzs/odoo_addons,
fjouatte/odoo-production,
flowdow/smile_openerp_addons_7.0,
fox-pan-www/odoo_addons,
gameboy199/odoo_addons,
garzadekoster/odoo_addons,
gastonfeng/odoo_addons,
genral73/odoo_addons,
germanponce/odoo_addons,
gitlabuser/odoo_addons,
gmplab/odoo_addons,
gobozgz/odoo_addons,
greg4fun/smile_openerp_addons_6.1,
grottas/odoo_addons,
guidev224/odoo_addons,
guohuadeng/odoo_addons,
h4ck3rm1k3/odoo_addons,
halgandd/odoo-production,
hassanfadl/odoo_addons,
hilarak/odoo-production,
hilarak/odoo_addons,
hoangpq/odoo_addons,
hoangtk/odoo_addons,
huahyong/odoo_addons,
huangweiboy/odoo_addons,
iamyeonhan/odoo_addons,
iceship/odoo_addons,
isabellerichard/odoo_addons,
izzihector/odoo_addons,
jlzhou/odoo_addons,
jweste/odoo-production,
kit9/odoo_addons,
kleitz/odoo_addons,
kossovo/odoo_addons,
kotchasaan/odoo_addons,
krunal267/odoo-production,
krupesh-weboffice/odoo_addons,
lachouettecoop/odoo-production,
lafai/smile_openerp_addons_7.0,
leetaizhu/odoo_addons,
legalsylvain/odoo-production,
lembregtse/odoo_addons,
likaiyuan/Smile_addons,
linhdoan-novobi/odoo_addons,
liweijie0812/odoo_addons,
lnkdel/odoo_addons,
marcelomora/odoo_addons,
marcelsavegnago/odoo_addons,
mateochau/odoo_addons,
mathieuvatel/odoo-production,
mayjo79/odoo_addons,
mgielissen/odoo_addons-1,
miarma-corporation/odoo_addons,
mohamedhagag/odoo_addons-1,
molandtoxx/odoo9_addons,
mrezki/odoo_addons,
mszinte/odoo-production,
mudismud/odoo_addons,
muk-projects/odoo_addons,
mulaudzicalvin/odoo-production,
mutita/odoo_addons,
myodoo/odoo_addons,
n1ku/odoo_addons,
necrodevz/odoo_addons,
niulinlnc/odoo_addons,
njeudy/odoo_addons,
nthnnl/odoo-production,
odoo-modules/odoo-production,
odoo-modules/odoo_addons,
odoochain/odoo_addons,
odoocn/odoo_addons,
odoofans/odoo_addons,
odoousers2014/odoo_addons,
one2pret/odoo_addons,
onurugur/odoo_addons,
oondeo/smile_odoo_addons,
open-synergy/odoo_addons-1,
osiell/odoo_addons,
ovnicraft/odoo_addons,
petrus-v/odoo-foodcoops,
petypi/odoo_addons,
phuctranerp/odoo-production,
pieterpalmers/odoo_addons,
postfixexmail/odoo_addons,
pythoner-3k/odoo_addons,
qponline/odoo_addons,
raditv/odoo_addons,
rafnixg/odoo_addons,
raouf-haddada/odoo_addons,
redblow/odoo_addons,
rihene-abdelwahed/odoo-production,
robertrottermann/odoo_addons,
robwithhair/odoo_addons,
rossasa/smile-addons,
royalline1/odoo_addons,
salahable/odoo_addons,
salvatoretrimarchi/odoo_addons,
sarac2013/odoo_addons,
sasakuma/odoo_addons-1,
savoirfairelinux/smile_odoo_addons,
sc4you/odoo-production,
sc4you/odoo_addons,
scbrianti/odoo_addons,
schout-it/odoo_addons,
semamca35/odoo_addons,
sewisoft/odoo_addons,
shengyf1/odoo_addons,
shouyejing/odoo_addons-1,
siddharth7815/odoo-production,
skiltz/odoo_addons,
skmezanul/odoo_addons,
sm2x/odoo_addons,
sockyjam/odoo_addons,
souka1/odoo_addons,
sprevot44/odoo-production,
stephanesalah/odoo_addons,
suningwz/odoo-production,
supercoopbdx/odoo-production,
superquinquin/odoo-production,
talway/odoo_addons,
tedi3231/odoo_addons,
telac/odoo_addons,
tghamgs/odoo_addons,
thinkwelltwd/odoo_addons-1,
trobz/odoo-production,
ttpphuctran/odoo-production,
ubic135/odoo_addons,
unitek-solusi/Smile-odoo_addons,
usbpendrive/odoo_addons,
vidtsin/odoo-production,
vidtsin/odoo_addons,
vikriusman/odoo_addons,
vkuldeep/odoo_addons,
wahello/smile-sa-odoo_addons,
wahhid/odoo_addons,
waynejid/odoo_addons,
westlyou/odoo_addons-1,
x2nie/odoo_addons,
xhair/odoo_addons,
xubiuit/odoo_addons,
yasmanycastillo/odoo_addons,
yastri/odoo_addons,
yf956613/odoo_addons,
yuntux/odoo-production,
zaben10/odoo_addons,
zhujin001032/odoo_addons,
zouine/odoo_addons,
and
zoujinbin/odoo_addons |
<p><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.svg">
<a class="reference external" href="https://github.com/Smile-SA/odoo_addons/tree/15.0/smile_upgrade"><img alt="Smile-SA/odoo_addons" src="https://img.shields.io/badge/github-Smile--SA%2Fodoo_addons-lightgray.png?logo=github" /></a></p>
<a name="database-upgrade"></a>
<h2>Database Upgrade</h2>
<p>This module helps you upgrade database automatically
after code update and server restarting.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#requirements" id="id1">Requirements</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a><ul>
<li><a class="reference internal" href="#configuration" id="id3">Configuration</a><ul>
<li><a class="reference internal" href="#upgrade-tree-view" id="id4">Upgrade tree view</a></li>
<li><a class="reference internal" href="#configure-the-version" id="id5">Configure the version</a></li>
<li><a class="reference internal" href="#configure-the-version-to-load" id="id6">Configure the version to load</a></li>
</ul>
</li>
<li><a class="reference internal" href="#execute-an-upgrade" id="id7">Execute an upgrade</a><ul>
<li><a class="reference internal" href="#odoo-configuration" id="id8">Odoo configuration</a></li>
<li><a class="reference internal" href="#execute-upgrade" id="id9">Execute upgrade</a></li>
</ul>
</li>
<li><a class="reference internal" href="#additional-features" id="id10">Additional features</a></li>
</ul>
</li>
<li><a class="reference internal" href="#known-issues" id="id11">Known Issues</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id12">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id13">Credits</a><ul>
<li><a class="reference internal" href="#contributors" id="id14">Contributors</a></li>
<li><a class="reference internal" href="#maintainer" id="id15">Maintainer</a></li>
</ul>
</li>
</ul>
</div>
<a name="requirements"></a>
<h3><a class="toc-backref" href="#id1">Requirements</a></h3>
<p>There are no requirements to use this module.</p>
<a name="usage"></a>
<h3><a class="toc-backref" href="#id2">Usage</a></h3>
<a name="configuration"></a>
<h4><a class="toc-backref" href="#id3">Configuration</a></h4>
<a name="upgrade-tree-view"></a>
<h5><a class="toc-backref" href="#id4">Upgrade tree view</a></h5>
<p>Upgrades directory must be structured like this:</p>
<pre>
<code>project
├── upgrades
| ├── 1.1
| | ├── __upgrade__.py
| | ├── *.sql
| | ├── *.py # only for post-load
| | ├── *.csv # only for post-load
| | ├── *.xml # only for post-load
| ├── 1.2
| | ├── __upgrade__.py
| | ├── *.sql
| ├── upgrade.conf</code>
</pre>
<p>You can find an example of upgrade in <a class="reference external" href="smile_upgrade/demo">demo directory</a> of this module.</p>
<a name="configure-the-version"></a>
<h5><a class="toc-backref" href="#id5">Configure the version</a></h5>
<p>Fill the file <em>__upgrade__.py</em> with following options:</p>
<ul class="simple">
<li><cite>version</cite></li>
<li><cite>databases</cite>: let empty if valid for all databases</li>
<li><cite>translations_to_reload</cite>: language codes list to reload in post-load</li>
<li><cite>description</cite></li>
<li><cite>modules_to_install_at_creation</cite>: modules list to install at database creation</li>
<li><cite>modules_to_upgrade</cite>: modules list to update or to install</li>
<li><cite>pre-load</cite>: list of .sql files</li>
<li><dl class="first docutils">
<dt><cite>post-load</cite>: list with .sql, .py, .csv and .xml files</dt>
<dd><ul class="first last">
<li><cite>.../filename</cite> (depending on option <cite>upgrades_path</cite>) or</li>
<li><cite>module_name/.../filename</cite></li>
</ul>
</dd>
</dl>
</li>
</ul>
<p>Each Python file in post-load must have a function post_load_hook(env)</p>
<a name="configure-the-version-to-load"></a>
<h5><a class="toc-backref" href="#id6">Configure the version to load</a></h5>
<p>The upgrade version to load is set in file <em>upgrade.conf</em>, at the root of the <em>upgrades</em> directory, with this content (replace the version by your version number):</p>
<pre>
<code>[options]
version=1.2</code>
</pre>
<a name="execute-an-upgrade"></a>
<h4><a class="toc-backref" href="#id7">Execute an upgrade</a></h4>
<a name="odoo-configuration"></a>
<h5><a class="toc-backref" href="#id8">Odoo configuration</a></h5>
<p>Update your Odoo configuration file with the following options:</p>
<ul class="simple">
<li><cite>upgrades_path</cite> (required): path to the upgrades directory</li>
<li><cite>stop_after_upgrades</cite> (default: False): stop server after upgrades if True</li>
</ul>
<a name="execute-upgrade"></a>
<h5><a class="toc-backref" href="#id9">Execute upgrade</a></h5>
<p>To execute an upgrade, you need to launch server with the following command:</p>
<pre>
<code>odoo.py -c <config_file> -d <db_name> --load=web,smile_upgrade</code>
</pre>
<a name="additional-features"></a>
<h4 class="with-subtitle"><a class="toc-backref" href="#id10">Additional features</a></h4>
<h4 class="section-subtitle" id="specify-error-management"><span class="section-subtitle">Specify error management</span></h4>
<p>In <cite>post-load</cite>, you can replace filename string by tuple to specify error management.</p>
<p>Available options are:</p>
<ul class="simple">
<li><cite>raise</cite> (default value): if an error is raised, stop upgrade execution by raising the error</li>
<li><cite>rollback_and_continue</cite>: if an error is raised, rollback to the savepoint set before the file execution and continue with the other files of the list</li>
<li><cite>not_rollback_and_continue</cite>: if an error is raised, no rollback is done and continue with the other files of the list</li>
</ul>
<p>Example:</p>
<pre>
<code>'post-load': [
('post-load/fix_product_pricelist.py', 'rollback_and_continue'),
],</code>
</pre>
<a name="known-issues"></a>
<h3><a class="toc-backref" href="#id11">Known Issues</a></h3>
<p>Adding fields on models <cite>res.partner</cite> or <cite>res.users</cite> can result to a failure of
the upgrade.</p>
<p>To fix that, please add in <cite>pre-load</cite> a SQL file to add field on table <cite>res_partner</cite>
or <cite>res_users</cite>, by defining the type and of column, constraint and set a default value
on existing records:</p>
<pre>
<code>ALTER TABLE res_users ADD COLUMN IF NOT EXISTS my_new_boolean BOOLEAN;
UPDATE res_users SET my_new_boolean = TRUE;</code>
</pre>
<p>These SQL requests are not required at database creation.</p>
<a name="bug-tracker"></a>
<h3><a class="toc-backref" href="#id12">Bug Tracker</a></h3>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/Smile-SA/odoo_addons/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
<a class="reference external" href="https://github.com/Smile-SA/odoo_addons/issues/new?body=module:%20smile_upgrade%0Aversion:%215.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">here</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
<a name="credits"></a>
<h3><a class="toc-backref" href="#id13">Credits</a></h3>
<a name="contributors"></a>
<h4><a class="toc-backref" href="#id14">Contributors</a></h4>
<ul class="simple">
<li>Corentin POUHET-BRUNERIE</li>
</ul>
<a name="maintainer"></a>
<h4><a class="toc-backref" href="#id15">Maintainer</a></h4>
<p>This module is maintained by Smile SA.</p>
<p>Since 1991 Smile has been a pioneer of technology and also the European expert in open source solutions.</p>