oboa 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. oboa/__init__.py +0 -0
  2. oboa/config/__init__.py +3 -0
  3. oboa/config/datamodel.json +11 -0
  4. oboa/config/engine.json +19 -0
  5. oboa/config/orchestrator_configuration.xml +3 -0
  6. oboa/datamodel/__init__.py +3 -0
  7. oboa/datamodel/base.py +22 -0
  8. oboa/datamodel/errors.py +15 -0
  9. oboa/datamodel/functions.py +55 -0
  10. oboa/datamodel/oboa_data_model.dbm +265 -0
  11. oboa/datamodel/oboa_data_model.sql +229 -0
  12. oboa/datamodel/orchestrated_files.py +223 -0
  13. oboa/engine/__init__.py +3 -0
  14. oboa/engine/archive_client.py +69 -0
  15. oboa/engine/commands.py +377 -0
  16. oboa/engine/daemon.py +240 -0
  17. oboa/engine/engine.py +1117 -0
  18. oboa/engine/errors.py +75 -0
  19. oboa/engine/functions.py +345 -0
  20. oboa/engine/operators.py +23 -0
  21. oboa/engine/parsing.py +194 -0
  22. oboa/engine/query.py +431 -0
  23. oboa/engine/xpath_functions.py +43 -0
  24. oboa/logging.py +139 -0
  25. oboa/processors/__init__.py +3 -0
  26. oboa/processors/base_processor.py +251 -0
  27. oboa/schemas/__init__.py +3 -0
  28. oboa/schemas/oboa_orchestrator_configuration.xsd +25 -0
  29. oboa/scripts/__init__.py +3 -0
  30. oboa/scripts/initialize_oboa_ddbb.sh +25 -0
  31. oboa/scripts/oboa_configure.py +22 -0
  32. oboa/scripts/oboa_daemon.py +22 -0
  33. oboa/scripts/oboa_init.py +145 -0
  34. oboa/scripts/oboa_init_ddbb.sh +99 -0
  35. oboa/scripts/oboa_orchestrate.py +22 -0
  36. oboa/scripts/oboa_poll.py +22 -0
  37. oboa/scripts/oboa_query.py +22 -0
  38. oboa/scripts/start_oboa.sh +6 -0
  39. oboa-0.1.0.dist-info/METADATA +454 -0
  40. oboa-0.1.0.dist-info/RECORD +45 -0
  41. oboa-0.1.0.dist-info/WHEEL +5 -0
  42. oboa-0.1.0.dist-info/entry_points.txt +7 -0
  43. oboa-0.1.0.dist-info/licenses/AUTHORS +5 -0
  44. oboa-0.1.0.dist-info/licenses/LICENSE +19 -0
  45. oboa-0.1.0.dist-info/top_level.txt +1 -0
oboa/__init__.py ADDED
File without changes
@@ -0,0 +1,3 @@
1
+ """
2
+ Packaged OBOA configuration files.
3
+ """
@@ -0,0 +1,11 @@
1
+ {
2
+ "DDBB_CONFIGURATION": {
3
+ "user": "oboa",
4
+ "host": "localhost",
5
+ "port": 5432,
6
+ "database": "oboadb",
7
+ "db_api": "postgresql",
8
+ "pool_size": 100,
9
+ "max_overflow": 100
10
+ }
11
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "LOG": {
3
+ "LEVEL": "INFO",
4
+ "MAX_BYTES": 50000000,
5
+ "MAX_BACKUP": 30
6
+ },
7
+ "ORCHESTRATION": {
8
+ "polling_dir": "/oboa_polling",
9
+ "polling_frequency": 30,
10
+ "delete_after_archive": true,
11
+ "processing_dir": "/oboa_processing",
12
+ "error_dir": "/oboa_error"
13
+ },
14
+ "DAEMON": {
15
+ "pid_file": "/tmp/oboa.pid",
16
+ "database_startup_attempts": 30,
17
+ "database_startup_wait_seconds": 2
18
+ }
19
+ }
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <orchestrator_configuration>
3
+ </orchestrator_configuration>
@@ -0,0 +1,3 @@
1
+ """
2
+ OBOA datamodel package.
3
+ """
oboa/datamodel/base.py ADDED
@@ -0,0 +1,22 @@
1
+ """
2
+ Connection configuration for the OBOA component.
3
+
4
+ module oboa
5
+ """
6
+
7
+ from sqlalchemy import create_engine
8
+ from sqlalchemy.ext.declarative import declarative_base
9
+ from sqlalchemy.orm import sessionmaker
10
+
11
+ from oboa.datamodel.functions import read_configuration
12
+
13
+ config = read_configuration()
14
+
15
+ db_configuration = config["DDBB_CONFIGURATION"]
16
+
17
+ db_uri = "{db_api}://{user}@{host}:{port}/{database}".format(**db_configuration)
18
+
19
+ engine = create_engine(db_uri, pool_size=db_configuration["pool_size"], max_overflow=db_configuration["max_overflow"])
20
+ Session = sessionmaker(bind=engine)
21
+
22
+ Base = declarative_base()
@@ -0,0 +1,15 @@
1
+ """
2
+ Datamodel errors for OBOA.
3
+ """
4
+
5
+
6
+ class OboaDatamodelError(Exception):
7
+ """
8
+ Base datamodel error.
9
+ """
10
+
11
+
12
+ class OboaResourcesPathNotAvailable(OboaDatamodelError):
13
+ """
14
+ Raised when OBOA resources cannot be located.
15
+ """
@@ -0,0 +1,55 @@
1
+ """
2
+ Configuration helpers for the OBOA datamodel.
3
+ """
4
+
5
+ import json
6
+ import os
7
+
8
+ from oboa.datamodel.errors import OboaResourcesPathNotAvailable
9
+
10
+
11
+ def default_resources_path():
12
+ """
13
+ Return the package default resources path.
14
+
15
+ :return: package ``config`` directory path
16
+ :rtype: str
17
+ """
18
+ return os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "config"))
19
+
20
+
21
+ def get_resources_path():
22
+ """
23
+ Return the configured OBOA resources path.
24
+
25
+ :return: resource directory containing ``datamodel.json``
26
+ :rtype: str
27
+
28
+ :raises OboaResourcesPathNotAvailable: when the configured directory is not
29
+ available
30
+ """
31
+ resources_path = os.environ.get("OBOA_RESOURCES_PATH", default_resources_path())
32
+ if not os.path.isdir(resources_path):
33
+ raise OboaResourcesPathNotAvailable(
34
+ "The OBOA resources path {} is not available".format(resources_path)
35
+ )
36
+ return resources_path
37
+
38
+
39
+ def read_configuration():
40
+ """
41
+ Read the datamodel configuration JSON.
42
+
43
+ :return: parsed datamodel configuration
44
+ :rtype: dict
45
+
46
+ :raises OboaResourcesPathNotAvailable: when the resources directory is not
47
+ available
48
+ """
49
+ with open(os.path.join(get_resources_path(), "datamodel.json"), encoding="utf-8") as json_data_file:
50
+ config = json.load(json_data_file)
51
+
52
+ if "OBOA_DDBB_HOST" in os.environ:
53
+ config["DDBB_CONFIGURATION"]["host"] = os.environ["OBOA_DDBB_HOST"]
54
+
55
+ return config
@@ -0,0 +1,265 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ CAUTION: Do not modify this file unless you know what you are doing.
4
+ Unexpected results may occur if the code is changed deliberately.
5
+ -->
6
+ <dbmodel pgmodeler-ver="1.2.3" use-changelog="false" max-obj-count="4"
7
+ gen-disabled-objs-code="false" show-sys-schemas-rects="true"
8
+ last-position="0,0" last-zoom="1" scene-rect="0,0,1280,720"
9
+ default-owner="postgres"
10
+ layers="Default"
11
+ active-layers="0"
12
+ layer-name-colors="#000000"
13
+ layer-rect-colors="#b4b4b4"
14
+ show-layer-names="false" show-layer-rects="false">
15
+ <role name="oboa"
16
+ inherit="true"
17
+ login="true">
18
+ </role>
19
+
20
+ <database name="oboadb" is-template="false" allow-conns="true">
21
+ </database>
22
+
23
+ <schema name="public" layers="0" fill-color="#e1e1e1" name-color="#000000" sql-disabled="true">
24
+ </schema>
25
+
26
+ <schema name="oboa" layers="0" fill-color="#e1e1e1" name-color="#000000">
27
+ <role name="oboa"/>
28
+ </schema>
29
+
30
+ <table name="orchestration_configurations" layers="0" collapse-mode="2" max-obj-count="7" z-value="0">
31
+ <schema name="oboa"/>
32
+ <role name="oboa"/>
33
+ <position x="120" y="140"/>
34
+ <column name="orchestration_configuration_uuid" not-null="true">
35
+ <type name="text" length="0"/>
36
+ </column>
37
+ <column name="path" not-null="true">
38
+ <type name="text" length="0"/>
39
+ </column>
40
+ <column name="active_from" not-null="true">
41
+ <type name="timestamp" length="0"/>
42
+ </column>
43
+ <column name="active_until">
44
+ <type name="timestamp" length="0"/>
45
+ </column>
46
+ <column name="active" not-null="true">
47
+ <type name="bool" length="0"/>
48
+ </column>
49
+ <column name="content" not-null="true">
50
+ <type name="text" length="0"/>
51
+ </column>
52
+ <constraint name="orchestration_configurations_pk" type="pk-constr" table="oboa.orchestration_configurations">
53
+ <columns names="orchestration_configuration_uuid" ref-type="src-columns"/>
54
+ </constraint>
55
+ </table>
56
+
57
+ <table name="orchestrated_files" layers="0" collapse-mode="2" max-obj-count="10" z-value="0">
58
+ <schema name="oboa"/>
59
+ <role name="oboa"/>
60
+ <position x="580" y="140"/>
61
+ <column name="file_uuid" not-null="true">
62
+ <type name="text" length="0"/>
63
+ </column>
64
+ <column name="name" not-null="true">
65
+ <type name="text" length="0"/>
66
+ </column>
67
+ <column name="path" not-null="true">
68
+ <type name="text" length="0"/>
69
+ </column>
70
+ <column name="file_group" not-null="true">
71
+ <type name="text" length="0"/>
72
+ </column>
73
+ <column name="reception_date" not-null="true">
74
+ <type name="timestamp" length="0"/>
75
+ </column>
76
+ <column name="archived" not-null="true">
77
+ <type name="bool" length="0"/>
78
+ </column>
79
+ <column name="processed" not-null="true">
80
+ <type name="bool" length="0"/>
81
+ </column>
82
+ <constraint name="orchestrated_files_pk" type="pk-constr" table="oboa.orchestrated_files">
83
+ <columns names="file_uuid" ref-type="src-columns"/>
84
+ </constraint>
85
+
86
+ <customidxs object-type="column">
87
+ <object name="orchestration_configuration_uuid" index="7"/>
88
+ </customidxs>
89
+ <customidxs object-type="constraint">
90
+ <object name="orchestrated_files_orchestration_configurations_fk" index="1"/>
91
+ </customidxs></table>
92
+
93
+ <relationship name="orchestration_configurations_has_many_orchestrated_files" type="rel1n" layers="0"
94
+ src-col-pattern="orchestration_configuration_uuid"
95
+ pk-pattern="{dt}_pk" uq-pattern="{dt}_uq"
96
+ src-fk-pattern="orchestrated_files_orchestration_configurations_fk"
97
+ fk-idx-pattern="idx_orchestrated_files_orchestration_configuration_uuid"
98
+ custom-color="#3d7fc4"
99
+ src-table="oboa.orchestration_configurations"
100
+ dst-table="oboa.orchestrated_files"
101
+ src-required="false" dst-required="false"
102
+ del-action="SET NULL"/>
103
+
104
+ <table name="orchestration_operations" layers="0" collapse-mode="2" max-obj-count="8" z-value="0">
105
+ <schema name="oboa"/>
106
+ <role name="oboa"/>
107
+ <position x="1040" y="140"/>
108
+ <column name="operation_uuid" not-null="true">
109
+ <type name="text" length="0"/>
110
+ </column>
111
+ <column name="operation" not-null="true">
112
+ <type name="text" length="0"/>
113
+ </column>
114
+ <column name="time_stamp" not-null="true">
115
+ <type name="timestamp" length="0"/>
116
+ </column>
117
+ <column name="status" not-null="true">
118
+ <type name="integer" length="0"/>
119
+ </column>
120
+ <column name="message">
121
+ <type name="text" length="0"/>
122
+ </column>
123
+ <constraint name="orchestration_operations_pk" type="pk-constr" table="oboa.orchestration_operations">
124
+ <columns names="operation_uuid" ref-type="src-columns"/>
125
+ </constraint>
126
+
127
+ <customidxs object-type="column">
128
+ <object name="file_uuid" index="5"/>
129
+ </customidxs>
130
+ <customidxs object-type="constraint">
131
+ <object name="orchestration_operations_orchestrated_files_fk" index="1"/>
132
+ </customidxs></table>
133
+
134
+ <relationship name="orchestrated_files_has_many_orchestration_operations" type="rel1n" layers="0"
135
+ src-col-pattern="file_uuid"
136
+ pk-pattern="{dt}_pk" uq-pattern="{dt}_uq"
137
+ src-fk-pattern="orchestration_operations_orchestrated_files_fk"
138
+ fk-idx-pattern="idx_orchestration_operations_file_uuid"
139
+ custom-color="#c97030"
140
+ src-table="oboa.orchestrated_files"
141
+ dst-table="oboa.orchestration_operations"
142
+ src-required="false" dst-required="false"
143
+ del-action="SET NULL"/>
144
+
145
+ <index name="idx_orchestration_configurations_path" table="oboa.orchestration_configurations"
146
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
147
+ index-type="btree" factor="0">
148
+ <idxelement use-sorting="false">
149
+ <column name="path"/>
150
+ </idxelement>
151
+ </index>
152
+
153
+ <index name="idx_orchestration_configurations_active_from" table="oboa.orchestration_configurations"
154
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
155
+ index-type="btree" factor="0">
156
+ <idxelement use-sorting="false">
157
+ <column name="active_from"/>
158
+ </idxelement>
159
+ </index>
160
+
161
+ <index name="idx_orchestration_configurations_active_until" table="oboa.orchestration_configurations"
162
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
163
+ index-type="btree" factor="0">
164
+ <idxelement use-sorting="false">
165
+ <column name="active_until"/>
166
+ </idxelement>
167
+ </index>
168
+
169
+ <index name="idx_orchestration_configurations_active" table="oboa.orchestration_configurations"
170
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
171
+ index-type="btree" factor="0">
172
+ <idxelement use-sorting="false">
173
+ <column name="active"/>
174
+ </idxelement>
175
+ </index>
176
+
177
+ <index name="idx_orchestrated_files_name" table="oboa.orchestrated_files"
178
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
179
+ index-type="btree" factor="0">
180
+ <idxelement use-sorting="false">
181
+ <column name="name"/>
182
+ </idxelement>
183
+ </index>
184
+
185
+ <index name="idx_orchestrated_files_path" table="oboa.orchestrated_files"
186
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
187
+ index-type="btree" factor="0">
188
+ <idxelement use-sorting="false">
189
+ <column name="path"/>
190
+ </idxelement>
191
+ </index>
192
+
193
+ <index name="idx_orchestrated_files_file_group" table="oboa.orchestrated_files"
194
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
195
+ index-type="btree" factor="0">
196
+ <idxelement use-sorting="false">
197
+ <column name="file_group"/>
198
+ </idxelement>
199
+ </index>
200
+
201
+ <index name="idx_orchestrated_files_reception_date" table="oboa.orchestrated_files"
202
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
203
+ index-type="btree" factor="0">
204
+ <idxelement use-sorting="false">
205
+ <column name="reception_date"/>
206
+ </idxelement>
207
+ </index>
208
+
209
+ <index name="idx_orchestrated_files_archived" table="oboa.orchestrated_files"
210
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
211
+ index-type="btree" factor="0">
212
+ <idxelement use-sorting="false">
213
+ <column name="archived"/>
214
+ </idxelement>
215
+ </index>
216
+
217
+ <index name="idx_orchestrated_files_processed" table="oboa.orchestrated_files"
218
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
219
+ index-type="btree" factor="0">
220
+ <idxelement use-sorting="false">
221
+ <column name="processed"/>
222
+ </idxelement>
223
+ </index>
224
+
225
+ <index name="idx_orchestrated_files_orchestration_configuration_uuid" table="oboa.orchestrated_files"
226
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
227
+ index-type="btree" factor="0">
228
+ <idxelement use-sorting="false">
229
+ <column name="orchestration_configuration_uuid"/>
230
+ </idxelement>
231
+ </index>
232
+
233
+ <index name="idx_orchestration_operations_operation" table="oboa.orchestration_operations"
234
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
235
+ index-type="btree" factor="0">
236
+ <idxelement use-sorting="false">
237
+ <column name="operation"/>
238
+ </idxelement>
239
+ </index>
240
+
241
+ <index name="idx_orchestration_operations_time_stamp" table="oboa.orchestration_operations"
242
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
243
+ index-type="btree" factor="0">
244
+ <idxelement use-sorting="false">
245
+ <column name="time_stamp"/>
246
+ </idxelement>
247
+ </index>
248
+
249
+ <index name="idx_orchestration_operations_status" table="oboa.orchestration_operations"
250
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
251
+ index-type="btree" factor="0">
252
+ <idxelement use-sorting="false">
253
+ <column name="status"/>
254
+ </idxelement>
255
+ </index>
256
+
257
+ <index name="idx_orchestration_operations_file_uuid" table="oboa.orchestration_operations"
258
+ concurrent="false" unique="false" fast-update="false" buffering="false" nulls-not-distinct="false"
259
+ index-type="btree" factor="0">
260
+ <idxelement use-sorting="false">
261
+ <column name="file_uuid"/>
262
+ </idxelement>
263
+ </index>
264
+
265
+ </dbmodel>
@@ -0,0 +1,229 @@
1
+ -- ** Database generated with pgModeler (PostgreSQL Database Modeler).
2
+ -- ** pgModeler version: 1.2.3
3
+ -- ** PostgreSQL version: 18.0
4
+ -- ** Project Site: pgmodeler.io
5
+ -- ** Model Author: ---
6
+ -- object: oboa | type: ROLE --
7
+ -- DROP ROLE IF EXISTS oboa;
8
+ CREATE ROLE oboa WITH
9
+ INHERIT
10
+ LOGIN;
11
+ -- ddl-end --
12
+
13
+
14
+ -- ** Database creation must be performed outside a multi lined SQL file.
15
+ -- ** These commands were put in this file only as a convenience.
16
+
17
+ -- object: oboadb | type: DATABASE --
18
+ -- DROP DATABASE IF EXISTS oboadb;
19
+ CREATE DATABASE oboadb;
20
+ -- ddl-end --
21
+
22
+
23
+ -- object: oboa | type: SCHEMA --
24
+ -- DROP SCHEMA IF EXISTS oboa CASCADE;
25
+ CREATE SCHEMA oboa;
26
+ -- ddl-end --
27
+ ALTER SCHEMA oboa OWNER TO oboa;
28
+ -- ddl-end --
29
+
30
+ SET search_path TO pg_catalog,public,oboa;
31
+ -- ddl-end --
32
+
33
+ -- object: oboa.orchestration_configurations | type: TABLE --
34
+ -- DROP TABLE IF EXISTS oboa.orchestration_configurations CASCADE;
35
+ CREATE TABLE oboa.orchestration_configurations (
36
+ orchestration_configuration_uuid text NOT NULL,
37
+ path text NOT NULL,
38
+ active_from timestamp NOT NULL,
39
+ active_until timestamp,
40
+ active bool NOT NULL,
41
+ content text NOT NULL,
42
+ CONSTRAINT orchestration_configurations_pk PRIMARY KEY (orchestration_configuration_uuid)
43
+ );
44
+ -- ddl-end --
45
+ ALTER TABLE oboa.orchestration_configurations OWNER TO oboa;
46
+ -- ddl-end --
47
+
48
+ -- object: oboa.orchestrated_files | type: TABLE --
49
+ -- DROP TABLE IF EXISTS oboa.orchestrated_files CASCADE;
50
+ CREATE TABLE oboa.orchestrated_files (
51
+ file_uuid text NOT NULL,
52
+ name text NOT NULL,
53
+ path text NOT NULL,
54
+ file_group text NOT NULL,
55
+ reception_date timestamp NOT NULL,
56
+ archived bool NOT NULL,
57
+ processed bool NOT NULL,
58
+ orchestration_configuration_uuid text,
59
+ CONSTRAINT orchestrated_files_pk PRIMARY KEY (file_uuid)
60
+ );
61
+ -- ddl-end --
62
+ ALTER TABLE oboa.orchestrated_files OWNER TO oboa;
63
+ -- ddl-end --
64
+
65
+ -- object: orchestrated_files_orchestration_configurations_fk | type: CONSTRAINT --
66
+ -- ALTER TABLE oboa.orchestrated_files DROP CONSTRAINT IF EXISTS orchestrated_files_orchestration_configurations_fk CASCADE;
67
+ ALTER TABLE oboa.orchestrated_files ADD CONSTRAINT orchestrated_files_orchestration_configurations_fk FOREIGN KEY (orchestration_configuration_uuid)
68
+ REFERENCES oboa.orchestration_configurations (orchestration_configuration_uuid) MATCH FULL
69
+ ON DELETE SET NULL ON UPDATE CASCADE;
70
+ -- ddl-end --
71
+
72
+ -- object: oboa.orchestration_operations | type: TABLE --
73
+ -- DROP TABLE IF EXISTS oboa.orchestration_operations CASCADE;
74
+ CREATE TABLE oboa.orchestration_operations (
75
+ operation_uuid text NOT NULL,
76
+ operation text NOT NULL,
77
+ time_stamp timestamp NOT NULL,
78
+ status integer NOT NULL,
79
+ message text,
80
+ file_uuid text,
81
+ CONSTRAINT orchestration_operations_pk PRIMARY KEY (operation_uuid)
82
+ );
83
+ -- ddl-end --
84
+ ALTER TABLE oboa.orchestration_operations OWNER TO oboa;
85
+ -- ddl-end --
86
+
87
+ -- object: orchestration_operations_orchestrated_files_fk | type: CONSTRAINT --
88
+ -- ALTER TABLE oboa.orchestration_operations DROP CONSTRAINT IF EXISTS orchestration_operations_orchestrated_files_fk CASCADE;
89
+ ALTER TABLE oboa.orchestration_operations ADD CONSTRAINT orchestration_operations_orchestrated_files_fk FOREIGN KEY (file_uuid)
90
+ REFERENCES oboa.orchestrated_files (file_uuid) MATCH FULL
91
+ ON DELETE SET NULL ON UPDATE CASCADE;
92
+ -- ddl-end --
93
+
94
+ -- object: idx_orchestration_configurations_path | type: INDEX --
95
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_configurations_path CASCADE;
96
+ CREATE INDEX idx_orchestration_configurations_path ON oboa.orchestration_configurations
97
+ USING btree
98
+ (
99
+ path
100
+ );
101
+ -- ddl-end --
102
+
103
+ -- object: idx_orchestration_configurations_active_from | type: INDEX --
104
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_configurations_active_from CASCADE;
105
+ CREATE INDEX idx_orchestration_configurations_active_from ON oboa.orchestration_configurations
106
+ USING btree
107
+ (
108
+ active_from
109
+ );
110
+ -- ddl-end --
111
+
112
+ -- object: idx_orchestration_configurations_active_until | type: INDEX --
113
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_configurations_active_until CASCADE;
114
+ CREATE INDEX idx_orchestration_configurations_active_until ON oboa.orchestration_configurations
115
+ USING btree
116
+ (
117
+ active_until
118
+ );
119
+ -- ddl-end --
120
+
121
+ -- object: idx_orchestration_configurations_active | type: INDEX --
122
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_configurations_active CASCADE;
123
+ CREATE INDEX idx_orchestration_configurations_active ON oboa.orchestration_configurations
124
+ USING btree
125
+ (
126
+ active
127
+ );
128
+ -- ddl-end --
129
+
130
+ -- object: idx_orchestrated_files_name | type: INDEX --
131
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_name CASCADE;
132
+ CREATE INDEX idx_orchestrated_files_name ON oboa.orchestrated_files
133
+ USING btree
134
+ (
135
+ name
136
+ );
137
+ -- ddl-end --
138
+
139
+ -- object: idx_orchestrated_files_path | type: INDEX --
140
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_path CASCADE;
141
+ CREATE INDEX idx_orchestrated_files_path ON oboa.orchestrated_files
142
+ USING btree
143
+ (
144
+ path
145
+ );
146
+ -- ddl-end --
147
+
148
+ -- object: idx_orchestrated_files_file_group | type: INDEX --
149
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_file_group CASCADE;
150
+ CREATE INDEX idx_orchestrated_files_file_group ON oboa.orchestrated_files
151
+ USING btree
152
+ (
153
+ file_group
154
+ );
155
+ -- ddl-end --
156
+
157
+ -- object: idx_orchestrated_files_reception_date | type: INDEX --
158
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_reception_date CASCADE;
159
+ CREATE INDEX idx_orchestrated_files_reception_date ON oboa.orchestrated_files
160
+ USING btree
161
+ (
162
+ reception_date
163
+ );
164
+ -- ddl-end --
165
+
166
+ -- object: idx_orchestrated_files_archived | type: INDEX --
167
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_archived CASCADE;
168
+ CREATE INDEX idx_orchestrated_files_archived ON oboa.orchestrated_files
169
+ USING btree
170
+ (
171
+ archived
172
+ );
173
+ -- ddl-end --
174
+
175
+ -- object: idx_orchestrated_files_processed | type: INDEX --
176
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_processed CASCADE;
177
+ CREATE INDEX idx_orchestrated_files_processed ON oboa.orchestrated_files
178
+ USING btree
179
+ (
180
+ processed
181
+ );
182
+ -- ddl-end --
183
+
184
+ -- object: idx_orchestrated_files_orchestration_configuration_uuid | type: INDEX --
185
+ -- DROP INDEX IF EXISTS oboa.idx_orchestrated_files_orchestration_configuration_uuid CASCADE;
186
+ CREATE INDEX idx_orchestrated_files_orchestration_configuration_uuid ON oboa.orchestrated_files
187
+ USING btree
188
+ (
189
+ orchestration_configuration_uuid
190
+ );
191
+ -- ddl-end --
192
+
193
+ -- object: idx_orchestration_operations_operation | type: INDEX --
194
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_operations_operation CASCADE;
195
+ CREATE INDEX idx_orchestration_operations_operation ON oboa.orchestration_operations
196
+ USING btree
197
+ (
198
+ operation
199
+ );
200
+ -- ddl-end --
201
+
202
+ -- object: idx_orchestration_operations_time_stamp | type: INDEX --
203
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_operations_time_stamp CASCADE;
204
+ CREATE INDEX idx_orchestration_operations_time_stamp ON oboa.orchestration_operations
205
+ USING btree
206
+ (
207
+ time_stamp
208
+ );
209
+ -- ddl-end --
210
+
211
+ -- object: idx_orchestration_operations_status | type: INDEX --
212
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_operations_status CASCADE;
213
+ CREATE INDEX idx_orchestration_operations_status ON oboa.orchestration_operations
214
+ USING btree
215
+ (
216
+ status
217
+ );
218
+ -- ddl-end --
219
+
220
+ -- object: idx_orchestration_operations_file_uuid | type: INDEX --
221
+ -- DROP INDEX IF EXISTS oboa.idx_orchestration_operations_file_uuid CASCADE;
222
+ CREATE INDEX idx_orchestration_operations_file_uuid ON oboa.orchestration_operations
223
+ USING btree
224
+ (
225
+ file_uuid
226
+ );
227
+ -- ddl-end --
228
+
229
+