annotate Sphinx/source/developers/db-versioning.rst @ 1112:ad26102adccc default tip

fix broken link
author Alain Mazy <am@orthanc.team>
date Wed, 23 Oct 2024 16:52:30 +0200
parents d2be251975d1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _db-versioning:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 Database versioning
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 ===================
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 Orthanc stores the index of the DICOM instances as an embedded `SQLite
358
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 336
diff changeset
7 database <https://www.sqlite.org/index.html>`_. The schema of this
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 336
diff changeset
8 database has evolved across the versions of Orthanc, making the
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 336
diff changeset
9 database incompatible between versions. This page clarifies which
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 336
diff changeset
10 versions of Orthanc are compatible with other versions.
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 Recent versions (post-0.3.1)
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 ----------------------------
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 Recent versions of Orthanc (starting 0.3.1, inclusive) include
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 information about the version of the DB schema in the SQLite table
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 ``GlobalProperties`` under the property with index 1. Versions with the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 same version of the DB schema are compatible with each other.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 When some version of Orthanc starts up, it checks whether it is
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 compatible with the database version. Orthanc will **fail to start if
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 it is not compatible with the database version**. Here is the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 compatibility matrix:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 =============================== ===== ===== ===== ===== =====
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 Version DB v2 DB v3 DB v4 DB v5 DB v6
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 =============================== ===== ===== ===== ===== =====
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 Mainline u u u x
1075
d2be251975d1 Orthanc 1.12.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1021
diff changeset
29 Orthanc 0.9.5 - Orthanc 1.12.4 u u u x
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 Orthanc 0.8.5 - Orthanc 0.9.4 u u x
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 Orthanc 0.7.3 - Orthanc 0.8.4 u x
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 Orthanc 0.4.0 - Orthanc 0.7.2 x
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 Orthanc 0.3.1 x
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 =============================== ===== ===== ===== ===== =====
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 *Note 1:* "u" means that an automatic upgrade of the DB schema is
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 available, without having to :ref:`migrate the database
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 <replication>`.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 *Note 2:* Starting with Orthanc 0.9.5, the option ``--upgrade`` must be provided
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 on the command-line to allow Orthanc to upgrade the database schema.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
1016
02e04288bbeb pg-transactions
Alain Mazy <am@osimis.io>
parents: 1000
diff changeset
43 *Note 3:* Each DB plugin like (:ref:`PostgreSQL <postgresql>`,
02e04288bbeb pg-transactions
Alain Mazy <am@osimis.io>
parents: 1000
diff changeset
44 :ref:`MySQL <mysql>` or :ref:`ODBC <odbc>`) also maintains its own *revision*
02e04288bbeb pg-transactions
Alain Mazy <am@osimis.io>
parents: 1000
diff changeset
45 number. The DB full version information is therefore the combination
02e04288bbeb pg-transactions
Alain Mazy <am@osimis.io>
parents: 1000
diff changeset
46 of the *version* and the *revision*.
02e04288bbeb pg-transactions
Alain Mazy <am@osimis.io>
parents: 1000
diff changeset
47
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 Early versions (pre-0.3.0)
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 --------------------------
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 Early versions of Orthanc (up to version 0.3.0, inclusive) **do not
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 check the version** of the database schema. Because of this, these
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 early versions are incompatible with all the other versions. Pay
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 attention to the fact that no compatibility check is done in these
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 versions, which may result in a corrupted database.