Skip to content

Commit ec39e28

Browse files
authored
Merge pull request #167 from OpenDataAlex/process_tracker_python-142
Process tracker python 142
2 parents cefef6b + c8a08fe commit ec39e28

File tree

12 files changed

+605
-106
lines changed

12 files changed

+605
-106
lines changed

dbscripts/mysql_process_tracker.sql

Lines changed: 193 additions & 1 deletion
Large diffs are not rendered by default.

dbscripts/postgresql_process_tracker.sql

Lines changed: 343 additions & 48 deletions
Large diffs are not rendered by default.

process_tracker/models/actor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
# Models for Actor entities
33

44
from sqlalchemy import Column, Integer, Sequence, String
5-
from process_tracker.models.model_base import Base
5+
from process_tracker.models.model_base import Base, BaseColumn
66

77

8-
class Actor(Base):
8+
class Actor(Base, BaseColumn):
99

1010
__tablename__ = "actor_lkup"
1111
__table_args__ = {"schema": "process_tracker"}

process_tracker/models/capacity.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from sqlalchemy import Column, ForeignKey, Integer, Sequence, String
66
from sqlalchemy.orm import relationship
77

8-
from process_tracker.models.model_base import Base
8+
from process_tracker.models.model_base import Base, BaseColumn
99

1010

11-
class Cluster(Base):
11+
class Cluster(Base, BaseColumn):
1212

1313
__tablename__ = "cluster_tracking_lkup"
1414
__table_args__ = {"schema": "process_tracker"}
@@ -34,7 +34,7 @@ def __repr__(self):
3434
return "<Cluster (name=%s)>" % self.cluster_name
3535

3636

37-
class ClusterProcess(Base):
37+
class ClusterProcess(Base, BaseColumn):
3838

3939
__tablename__ = "cluster_process"
4040
__table_args__ = {"schema": "process_tracker"}

process_tracker/models/contact.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
# Models for Contact entities
33

44
from sqlalchemy import Column, Integer, Sequence, String
5-
from process_tracker.models.model_base import Base
5+
from process_tracker.models.model_base import Base, BaseColumn
66

77

8-
class Contact(Base):
8+
class Contact(Base, BaseColumn):
99

1010
__tablename__ = "contact_lkup"
1111
__table_args__ = {"schema": "process_tracker"}

process_tracker/models/extract.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
)
1717
from sqlalchemy.orm import relationship
1818

19-
from process_tracker.models.model_base import Base
19+
from process_tracker.models.model_base import Base, BaseColumn
2020

2121

22-
class ExtractStatus(Base):
22+
class ExtractStatus(Base, BaseColumn):
2323

2424
__tablename__ = "extract_status_lkup"
2525
__table_args__ = {"schema": "process_tracker"}
@@ -42,7 +42,7 @@ def __repr__(self):
4242
)
4343

4444

45-
class ExtractCompressionType(Base):
45+
class ExtractCompressionType(Base, BaseColumn):
4646

4747
__tablename__ = "extract_compression_type_lkup"
4848
__table_args__ = {"schema": "process_tracker"}
@@ -63,7 +63,7 @@ def __repr__(self):
6363
return "<Extract Compression Type name=%s>" % (self.extract_compression_type)
6464

6565

66-
class ExtractFileType(Base):
66+
class ExtractFileType(Base, BaseColumn):
6767

6868
__tablename__ = "extract_filetype_lkup"
6969
__table_args__ = {"schema": "process_tracker"}
@@ -88,7 +88,7 @@ def __repr__(self):
8888
)
8989

9090

91-
class Extract(Base):
91+
class Extract(Base, BaseColumn):
9292

9393
__tablename__ = "extract_tracking"
9494
__table_args__ = {"schema": "process_tracker"}
@@ -164,7 +164,7 @@ def full_filepath(self):
164164
return str(Path(self.locations.location_path).joinpath(self.extract_filename))
165165

166166

167-
class ExtractDatasetType(Base):
167+
class ExtractDatasetType(Base, BaseColumn):
168168

169169
__tablename__ = "extract_dataset_type"
170170
__table_args__ = {"schema": "process_tracker"}
@@ -194,7 +194,7 @@ def __repr__(self):
194194
)
195195

196196

197-
class ExtractDependency(Base):
197+
class ExtractDependency(Base, BaseColumn):
198198

199199
__tablename__ = "extract_dependency"
200200
__table_args__ = {"schema": "process_tracker"}
@@ -223,7 +223,7 @@ def __repr__(self):
223223
)
224224

225225

226-
class ExtractProcess(Base):
226+
class ExtractProcess(Base, BaseColumn):
227227

228228
__tablename__ = "extract_process_tracking"
229229
__table_args__ = {"schema": "process_tracker"}
@@ -263,7 +263,7 @@ def __repr__(self):
263263
)
264264

265265

266-
class ExtractSource(Base):
266+
class ExtractSource(Base, BaseColumn):
267267

268268
__tablename__ = "extract_source"
269269
__table_args__ = {"schema": "process_tracker"}
@@ -294,7 +294,7 @@ def __repr__(self):
294294
)
295295

296296

297-
class ExtractSourceObject(Base):
297+
class ExtractSourceObject(Base, BaseColumn):
298298

299299
__tablename__ = "extract_source_object"
300300
__table_args__ = {"schema": "process_tracker"}
@@ -325,7 +325,7 @@ def __repr__(self):
325325
)
326326

327327

328-
class FileSizeType(Base):
328+
class FileSizeType(Base, BaseColumn):
329329
__tablename__ = "filesize_type_lkup"
330330
__table_args__ = {"schema": "process_tracker"}
331331

@@ -349,7 +349,7 @@ def __repr__(self):
349349
)
350350

351351

352-
class LocationType(Base):
352+
class LocationType(Base, BaseColumn):
353353

354354
__tablename__ = "location_type_lkup"
355355
__table_args__ = {"schema": "process_tracker"}
@@ -374,7 +374,7 @@ def __repr__(self):
374374
)
375375

376376

377-
class Location(Base):
377+
class Location(Base, BaseColumn):
378378

379379
__tablename__ = "location_lkup"
380380
__table_args__ = {"schema": "process_tracker"}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
# Base Model class for other data models.
22

3+
from datetime import datetime
34
from dateutil import parser
45

56
from sqlalchemy.ext.declarative import declarative_base
7+
from sqlalchemy import Column, Integer, DateTime
68

79
Base = declarative_base()
810
default_date = parser.parse("1900-01-01 00:00:00")
11+
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
12+
13+
14+
class BaseColumn(object):
15+
created_date_time = Column(DateTime, nullable=False, default=current_time)
16+
created_by = Column(DateTime, nullable=False, default=0)
17+
update_date_time = Column(
18+
DateTime, nullable=False, default=current_time, onupdate=current_time
19+
)
20+
updated_by = Column(DateTime, nullable=False, default=0)

process_tracker/models/process.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
)
1616
from sqlalchemy.orm import relationship
1717

18-
from process_tracker.models.model_base import default_date, Base
18+
from process_tracker.models.model_base import default_date, Base, BaseColumn
1919

2020

21-
class ErrorType(Base):
21+
class ErrorType(Base, BaseColumn):
2222

2323
__tablename__ = "error_type_lkup"
2424
__table_args__ = {"schema": "process_tracker"}
@@ -38,7 +38,7 @@ def __repr__(self):
3838
return "<ErrorType (name=%s)>" % self.error_type_name
3939

4040

41-
class ErrorTracking(Base):
41+
class ErrorTracking(Base, BaseColumn):
4242

4343
__tablename__ = "error_tracking"
4444
__table_args__ = {"schema": "process_tracker"}
@@ -78,7 +78,7 @@ def __repr__(self):
7878
)
7979

8080

81-
class ProcessStatus(Base):
81+
class ProcessStatus(Base, BaseColumn):
8282

8383
__tablename__ = "process_status_lkup"
8484
__table_args__ = {"schema": "process_tracker"}
@@ -101,7 +101,7 @@ def __repr__(self):
101101
)
102102

103103

104-
class ProcessType(Base):
104+
class ProcessType(Base, BaseColumn):
105105

106106
__tablename__ = "process_type_lkup"
107107
__table_args__ = {"schema": "process_tracker"}
@@ -124,7 +124,7 @@ def __repr__(self):
124124
)
125125

126126

127-
class Process(Base):
127+
class Process(Base, BaseColumn):
128128

129129
__tablename__ = "process"
130130
__table_args__ = {"schema": "process_tracker"}
@@ -179,7 +179,7 @@ def __repr__(self):
179179
)
180180

181181

182-
class ProcessContact(Base):
182+
class ProcessContact(Base, BaseColumn):
183183

184184
__tablename__ = "process_contact"
185185
__table_args__ = {"schema": "process_tracker"}
@@ -210,7 +210,7 @@ def __repr__(self):
210210
)
211211

212212

213-
class ProcessDatasetType(Base):
213+
class ProcessDatasetType(Base, BaseColumn):
214214

215215
__tablename__ = "process_dataset_type"
216216
__table_args__ = {"schema": "process_tracker"}
@@ -241,7 +241,7 @@ def __repr__(self):
241241
)
242242

243243

244-
class ProcessFilter(Base):
244+
class ProcessFilter(Base, BaseColumn):
245245

246246
__tablename__ = "process_filter"
247247
__table_args__ = {"schema": "process_tracker"}
@@ -283,7 +283,7 @@ def __repr__(self):
283283
)
284284

285285

286-
class ProcessSource(Base):
286+
class ProcessSource(Base, BaseColumn):
287287

288288
__tablename__ = "process_source"
289289
__table_args__ = {"schema": "process_tracker"}
@@ -312,7 +312,7 @@ def __repr__(self):
312312
)
313313

314314

315-
class ProcessSourceObject(Base):
315+
class ProcessSourceObject(Base, BaseColumn):
316316
__tablename__ = "process_source_object"
317317
__table_args__ = {"schema": "process_tracker"}
318318

@@ -339,7 +339,7 @@ def __repr__(self):
339339
)
340340

341341

342-
class ProcessSourceObjectAttribute(Base):
342+
class ProcessSourceObjectAttribute(Base, BaseColumn):
343343
__tablename__ = "process_source_object_attribute"
344344
__table_args__ = {"schema": "process_tracker"}
345345

@@ -370,7 +370,7 @@ def __repr__(self):
370370
)
371371

372372

373-
class ProcessTarget(Base):
373+
class ProcessTarget(Base, BaseColumn):
374374
__tablename__ = "process_target"
375375
__table_args__ = {"schema": "process_tracker"}
376376

@@ -397,7 +397,7 @@ def __repr__(self):
397397
)
398398

399399

400-
class ProcessTargetObject(Base):
400+
class ProcessTargetObject(Base, BaseColumn):
401401

402402
__tablename__ = "process_target_object"
403403
__table_args__ = {"schema": "process_tracker"}
@@ -425,7 +425,7 @@ def __repr__(self):
425425
)
426426

427427

428-
class ProcessTargetObjectAttribute(Base):
428+
class ProcessTargetObjectAttribute(Base, BaseColumn):
429429
__tablename__ = "process_target_object_attribute"
430430
__table_args__ = {"schema": "process_tracker"}
431431

@@ -456,7 +456,7 @@ def __repr__(self):
456456
)
457457

458458

459-
class ProcessDependency(Base):
459+
class ProcessDependency(Base, BaseColumn):
460460

461461
__tablename__ = "process_dependency"
462462
__table_args__ = {"schema": "process_tracker"}
@@ -485,7 +485,7 @@ def __repr__(self):
485485
)
486486

487487

488-
class ProcessTracking(Base):
488+
class ProcessTracking(Base, BaseColumn):
489489

490490
__tablename__ = "process_tracking"
491491
__table_args__ = {"schema": "process_tracker"}

process_tracker/models/schedule.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
from sqlalchemy import Column, Integer, Sequence, String
66

7-
from process_tracker.models.model_base import Base
7+
from process_tracker.models.model_base import Base, BaseColumn
88

99

10-
class ScheduleFrequency(Base):
10+
class ScheduleFrequency(Base, BaseColumn):
1111

1212
__tablename__ = "schedule_frequency_lkup"
1313
__table_args__ = {"schema": "process_tracker"}

0 commit comments

Comments
 (0)