Skip to content

Commit 18bbbd3

Browse files
authored
Merge pull request #135 from OpenDataAlex/process_tracker_python-100
Process tracker python 100
2 parents dc5a1cf + a70d762 commit 18bbbd3

File tree

3 files changed

+105
-12
lines changed

3 files changed

+105
-12
lines changed

dbscripts/mysql_process_tracker.sql

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
USE process_tracker;
22

3+
create table process_tracker.character_set_lkup
4+
(
5+
character_set_id int auto_increment
6+
primary key,
7+
character_set_name int not null,
8+
constraint character_set_lkup_character_set_name_uindex
9+
unique (character_set_name)
10+
);
11+
12+
create table process_tracker.source_type_lkup
13+
(
14+
source_type_id int auto_increment
15+
primary key,
16+
source_type_name varchar(75) not null,
17+
constraint source_type_lkup_source_type_name_uindex
18+
unique (source_type_name)
19+
);
20+
321
create table schedule_frequency_lkup
422
(
523
schedule_frequency_id int auto_increment
@@ -182,15 +200,23 @@ create table process_type_lkup
182200
process_type_name varchar(250) not null
183201
);
184202

185-
create table source_lkup
203+
create table process_tracker.source_lkup
186204
(
187205
source_id int auto_increment
188206
primary key,
189207
source_name varchar(250) not null,
208+
source_type_id int null,
209+
character_set_id int null,
190210
constraint source_name
191-
unique (source_name)
211+
unique (source_name),
212+
constraint source_lkup_fk01
213+
foreign key (source_type_id) references process_tracker.source_type_lkup (source_type_id),
214+
constraint source_lkup_fk02
215+
foreign key (character_set_id) references process_tracker.character_set_lkup (character_set_id)
192216
);
193217

218+
219+
194220
create table system_lkup
195221
(
196222
system_id int auto_increment
@@ -380,13 +406,15 @@ comment 'Relationship tracking between processes and performance clusters.';
380406

381407
create table process_tracker.source_object_lkup
382408
(
383-
source_object_id int auto_increment,
409+
source_object_id int auto_increment
410+
primary key,
384411
source_id int not null,
385412
source_object_name varchar(250) null,
386-
constraint source_object_lkup_pk
387-
primary key (source_object_id),
413+
character_set_id int null,
388414
constraint source_object_lkup_udx01
389415
unique (source_id, source_object_name),
416+
constraint source_object_lkup_fk02
417+
foreign key (character_set_id) references process_tracker.character_set_lkup (character_set_id),
390418
constraint source_object_lkup_source_lkup_source_id_fk
391419
foreign key (source_id) references process_tracker.source_lkup (source_id)
392420
);
@@ -614,4 +642,3 @@ create table process_tracker.source_object_location
614642
);
615643

616644

617-

dbscripts/postgresql_process_tracker.sql

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,32 @@ create schema process_tracker;
44

55
alter schema process_tracker owner to pt_admin;
66

7+
create table process_tracker.character_set_lkup
8+
(
9+
character_set_id serial not null
10+
constraint character_set_lkup_pk
11+
primary key,
12+
character_set_name varchar(75) not null
13+
);
14+
15+
alter table process_tracker.character_set_lkup owner to pt_admin;
16+
17+
create unique index character_set_lkup_character_set_name_uindex
18+
on process_tracker.character_set_lkup (character_set_name);
19+
20+
create table process_tracker.source_type_lkup
21+
(
22+
source_type_id serial not null
23+
constraint source_type_lkup_pk
24+
primary key,
25+
source_type_name varchar(75) not null
26+
);
27+
28+
alter table process_tracker.source_type_lkup owner to pt_admin;
29+
30+
create unique index source_type_lkup_source_type_name_uindex
31+
on process_tracker.source_type_lkup (source_type_name);
32+
733
create table schedule_frequency_lkup
834
(
935
schedule_frequency_id serial not null
@@ -146,20 +172,26 @@ alter table tool_lkup owner to pt_admin;
146172
create unique index tool_lkup_tool_udx01
147173
on tool_lkup (tool_name);
148174

149-
create table source_lkup
175+
create table process_tracker.source_lkup
150176
(
151177
source_id serial not null
152178
constraint source_lkup_pk
153179
primary key,
154-
source_name varchar(250) not null
180+
source_name varchar(250) not null,
181+
source_type_id integer
182+
constraint source_lkup_fk01
183+
references process_tracker.source_type_lkup,
184+
character_set_id integer
185+
constraint source_lkup_fk02
186+
references process_tracker.character_set_lkup
155187
);
156188

157-
comment on table source_lkup is 'Source system where data originates.';
189+
comment on table process_tracker.source_lkup is 'Source system where data originates.';
158190

159-
alter table source_lkup owner to pt_admin;
191+
alter table process_tracker.source_lkup owner to pt_admin;
160192

161193
create unique index source_lkup_udx01
162-
on source_lkup (source_name);
194+
on process_tracker.source_lkup (source_name);
163195

164196
create table process_status_lkup
165197
(
@@ -592,7 +624,10 @@ create table process_tracker.source_object_lkup
592624
source_id integer not null
593625
constraint source_object_lkup_fk01
594626
references process_tracker.source_lkup,
595-
source_object_name varchar(250)
627+
source_object_name varchar(250),
628+
character_set_id integer
629+
constraint source_object_lkup_fk02
630+
references process_tracker.character_set_lkup
596631
);
597632

598633
comment on table process_tracker.source_object_lkup is 'Reference table for source/target objects.';

process_tracker/models/source.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,27 @@
1616
from process_tracker.models.model_base import Base
1717

1818

19+
class CharacterSet(Base):
20+
21+
__tablename__ = "character_set_lkup"
22+
__table_args__ = {"schema": "process_tracker"}
23+
24+
character_set_id = Column(
25+
Integer,
26+
Sequence("character_set_lkup.character_set_id", schema="process_tracker"),
27+
primary_key=True,
28+
nullable=False,
29+
)
30+
character_set_name = Column(String(75), unique=True, nullable=False)
31+
32+
def __repr__(self):
33+
34+
return "<CharacterSet id=%s, name=%s>" % (
35+
self.character_set_id,
36+
self.character_set_name,
37+
)
38+
39+
1940
class DataType(Base):
2041

2142
__tablename__ = "data_type_lkup"
@@ -93,6 +114,11 @@ class Source(Base):
93114
nullable=False,
94115
)
95116
source_name = Column(String(250), nullable=False, unique=True)
117+
character_set_id = Column(
118+
Integer,
119+
ForeignKey("process_tracker.character_set_lkup.character_set_id"),
120+
nullable=True,
121+
)
96122

97123
def __repr__(self):
98124

@@ -199,6 +225,11 @@ class SourceObject(Base):
199225
Integer, ForeignKey("process_tracker.source_lkup.source_id"), nullable=False
200226
)
201227
source_object_name = Column(String(250), nullable=False)
228+
character_set_id = Column(
229+
Integer,
230+
ForeignKey("process_tracker.character_set_lkup.character_set_id"),
231+
nullable=True,
232+
)
202233

203234
UniqueConstraint(source_id, source_object_name)
204235

0 commit comments

Comments
 (0)