Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 193 additions & 1 deletion dbscripts/mysql_process_tracker.sql

Large diffs are not rendered by default.

391 changes: 343 additions & 48 deletions dbscripts/postgresql_process_tracker.sql

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions process_tracker/models/actor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Models for Actor entities

from sqlalchemy import Column, Integer, Sequence, String
from process_tracker.models.model_base import Base
from process_tracker.models.model_base import Base, BaseColumn


class Actor(Base):
class Actor(Base, BaseColumn):

__tablename__ = "actor_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand Down
6 changes: 3 additions & 3 deletions process_tracker/models/capacity.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
from sqlalchemy import Column, ForeignKey, Integer, Sequence, String
from sqlalchemy.orm import relationship

from process_tracker.models.model_base import Base
from process_tracker.models.model_base import Base, BaseColumn


class Cluster(Base):
class Cluster(Base, BaseColumn):

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


class ClusterProcess(Base):
class ClusterProcess(Base, BaseColumn):

__tablename__ = "cluster_process"
__table_args__ = {"schema": "process_tracker"}
Expand Down
4 changes: 2 additions & 2 deletions process_tracker/models/contact.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Models for Contact entities

from sqlalchemy import Column, Integer, Sequence, String
from process_tracker.models.model_base import Base
from process_tracker.models.model_base import Base, BaseColumn


class Contact(Base):
class Contact(Base, BaseColumn):

__tablename__ = "contact_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand Down
26 changes: 13 additions & 13 deletions process_tracker/models/extract.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
)
from sqlalchemy.orm import relationship

from process_tracker.models.model_base import Base
from process_tracker.models.model_base import Base, BaseColumn


class ExtractStatus(Base):
class ExtractStatus(Base, BaseColumn):

__tablename__ = "extract_status_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand All @@ -42,7 +42,7 @@ def __repr__(self):
)


class ExtractCompressionType(Base):
class ExtractCompressionType(Base, BaseColumn):

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


class ExtractFileType(Base):
class ExtractFileType(Base, BaseColumn):

__tablename__ = "extract_filetype_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand All @@ -88,7 +88,7 @@ def __repr__(self):
)


class Extract(Base):
class Extract(Base, BaseColumn):

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


class ExtractDatasetType(Base):
class ExtractDatasetType(Base, BaseColumn):

__tablename__ = "extract_dataset_type"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -194,7 +194,7 @@ def __repr__(self):
)


class ExtractDependency(Base):
class ExtractDependency(Base, BaseColumn):

__tablename__ = "extract_dependency"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -223,7 +223,7 @@ def __repr__(self):
)


class ExtractProcess(Base):
class ExtractProcess(Base, BaseColumn):

__tablename__ = "extract_process_tracking"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -263,7 +263,7 @@ def __repr__(self):
)


class ExtractSource(Base):
class ExtractSource(Base, BaseColumn):

__tablename__ = "extract_source"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -294,7 +294,7 @@ def __repr__(self):
)


class ExtractSourceObject(Base):
class ExtractSourceObject(Base, BaseColumn):

__tablename__ = "extract_source_object"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -325,7 +325,7 @@ def __repr__(self):
)


class FileSizeType(Base):
class FileSizeType(Base, BaseColumn):
__tablename__ = "filesize_type_lkup"
__table_args__ = {"schema": "process_tracker"}

Expand All @@ -349,7 +349,7 @@ def __repr__(self):
)


class LocationType(Base):
class LocationType(Base, BaseColumn):

__tablename__ = "location_type_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand All @@ -374,7 +374,7 @@ def __repr__(self):
)


class Location(Base):
class Location(Base, BaseColumn):

__tablename__ = "location_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand Down
12 changes: 12 additions & 0 deletions process_tracker/models/model_base.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
# Base Model class for other data models.

from datetime import datetime
from dateutil import parser

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, DateTime

Base = declarative_base()
default_date = parser.parse("1900-01-01 00:00:00")
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")


class BaseColumn(object):
created_date_time = Column(DateTime, nullable=False, default=current_time)
created_by = Column(DateTime, nullable=False, default=0)
update_date_time = Column(
DateTime, nullable=False, default=current_time, onupdate=current_time
)
updated_by = Column(DateTime, nullable=False, default=0)
34 changes: 17 additions & 17 deletions process_tracker/models/process.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
)
from sqlalchemy.orm import relationship

from process_tracker.models.model_base import default_date, Base
from process_tracker.models.model_base import default_date, Base, BaseColumn


class ErrorType(Base):
class ErrorType(Base, BaseColumn):

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


class ErrorTracking(Base):
class ErrorTracking(Base, BaseColumn):

__tablename__ = "error_tracking"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -78,7 +78,7 @@ def __repr__(self):
)


class ProcessStatus(Base):
class ProcessStatus(Base, BaseColumn):

__tablename__ = "process_status_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand All @@ -101,7 +101,7 @@ def __repr__(self):
)


class ProcessType(Base):
class ProcessType(Base, BaseColumn):

__tablename__ = "process_type_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand All @@ -124,7 +124,7 @@ def __repr__(self):
)


class Process(Base):
class Process(Base, BaseColumn):

__tablename__ = "process"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -179,7 +179,7 @@ def __repr__(self):
)


class ProcessContact(Base):
class ProcessContact(Base, BaseColumn):

__tablename__ = "process_contact"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -210,7 +210,7 @@ def __repr__(self):
)


class ProcessDatasetType(Base):
class ProcessDatasetType(Base, BaseColumn):

__tablename__ = "process_dataset_type"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -241,7 +241,7 @@ def __repr__(self):
)


class ProcessFilter(Base):
class ProcessFilter(Base, BaseColumn):

__tablename__ = "process_filter"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -283,7 +283,7 @@ def __repr__(self):
)


class ProcessSource(Base):
class ProcessSource(Base, BaseColumn):

__tablename__ = "process_source"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -312,7 +312,7 @@ def __repr__(self):
)


class ProcessSourceObject(Base):
class ProcessSourceObject(Base, BaseColumn):
__tablename__ = "process_source_object"
__table_args__ = {"schema": "process_tracker"}

Expand All @@ -339,7 +339,7 @@ def __repr__(self):
)


class ProcessSourceObjectAttribute(Base):
class ProcessSourceObjectAttribute(Base, BaseColumn):
__tablename__ = "process_source_object_attribute"
__table_args__ = {"schema": "process_tracker"}

Expand Down Expand Up @@ -370,7 +370,7 @@ def __repr__(self):
)


class ProcessTarget(Base):
class ProcessTarget(Base, BaseColumn):
__tablename__ = "process_target"
__table_args__ = {"schema": "process_tracker"}

Expand All @@ -397,7 +397,7 @@ def __repr__(self):
)


class ProcessTargetObject(Base):
class ProcessTargetObject(Base, BaseColumn):

__tablename__ = "process_target_object"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -425,7 +425,7 @@ def __repr__(self):
)


class ProcessTargetObjectAttribute(Base):
class ProcessTargetObjectAttribute(Base, BaseColumn):
__tablename__ = "process_target_object_attribute"
__table_args__ = {"schema": "process_tracker"}

Expand Down Expand Up @@ -456,7 +456,7 @@ def __repr__(self):
)


class ProcessDependency(Base):
class ProcessDependency(Base, BaseColumn):

__tablename__ = "process_dependency"
__table_args__ = {"schema": "process_tracker"}
Expand Down Expand Up @@ -485,7 +485,7 @@ def __repr__(self):
)


class ProcessTracking(Base):
class ProcessTracking(Base, BaseColumn):

__tablename__ = "process_tracking"
__table_args__ = {"schema": "process_tracker"}
Expand Down
4 changes: 2 additions & 2 deletions process_tracker/models/schedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

from sqlalchemy import Column, Integer, Sequence, String

from process_tracker.models.model_base import Base
from process_tracker.models.model_base import Base, BaseColumn


class ScheduleFrequency(Base):
class ScheduleFrequency(Base, BaseColumn):

__tablename__ = "schedule_frequency_lkup"
__table_args__ = {"schema": "process_tracker"}
Expand Down
Loading