| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- """Persistence models for active metadata discovery and field lineage."""
- from sqlalchemy.dialects.postgresql import JSONB, UUID
- from app import db
- from app.core.common.identifiers import new_governance_uid
- class ActiveMetadataPlan(db.Model):
- __tablename__ = "active_metadata_plans"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- source_uid = db.Column(UUID(as_uuid=False), nullable=False)
- name = db.Column(db.String(300), nullable=False)
- source_kind = db.Column(db.String(20), nullable=False)
- schedule_type = db.Column(db.String(20), nullable=False)
- schedule_expression = db.Column(db.String(120))
- discovery_mode = db.Column(db.String(20), nullable=False)
- scope = db.Column(JSONB, nullable=False)
- cursor_state = db.Column(JSONB, nullable=False)
- owner_uid = db.Column(UUID(as_uuid=False), nullable=False)
- enabled = db.Column(db.Boolean, nullable=False)
- current_version = db.Column(db.Integer, nullable=False)
- created_by = db.Column(UUID(as_uuid=False), nullable=False)
- class ActiveMetadataRun(db.Model):
- __tablename__ = "active_metadata_runs"
- __table_args__ = (
- db.UniqueConstraint("plan_uid", "batch_key"),
- {"schema": "public"},
- )
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- plan_uid = db.Column(UUID(as_uuid=False), nullable=False)
- batch_key = db.Column(db.String(160), nullable=False)
- status = db.Column(db.String(20), nullable=False)
- attempt_count = db.Column(db.Integer, nullable=False)
- cursor_before = db.Column(JSONB, nullable=False)
- cursor_after = db.Column(JSONB, nullable=False)
- snapshot_hash = db.Column(db.String(64))
- statistics = db.Column(JSONB, nullable=False)
- failure_code = db.Column(db.String(80))
- failure_reason = db.Column(db.String(500))
- actor_uid = db.Column(UUID(as_uuid=False), nullable=False)
- class ActiveMetadataAsset(db.Model):
- __tablename__ = "active_metadata_assets"
- __table_args__ = (
- db.UniqueConstraint("source_uid", "asset_key"),
- {"schema": "public"},
- )
- uid = db.Column(UUID(as_uuid=False), primary_key=True)
- source_uid = db.Column(UUID(as_uuid=False), nullable=False)
- asset_key = db.Column(db.String(500), nullable=False)
- namespace = db.Column(db.String(200), nullable=False)
- name = db.Column(db.String(200), nullable=False)
- asset_type = db.Column(db.String(40), nullable=False)
- lifecycle_status = db.Column(db.String(30), nullable=False)
- current_version = db.Column(db.Integer, nullable=False)
- content_hash = db.Column(db.String(64), nullable=False)
- snapshot = db.Column(JSONB, nullable=False)
- health = db.Column(JSONB, nullable=False)
- last_run_uid = db.Column(UUID(as_uuid=False), nullable=False)
- class ActiveMetadataAssetVersion(db.Model):
- __tablename__ = "active_metadata_asset_versions"
- __table_args__ = (
- db.UniqueConstraint("asset_uid", "version"),
- {"schema": "public"},
- )
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- asset_uid = db.Column(UUID(as_uuid=False), nullable=False)
- version = db.Column(db.Integer, nullable=False)
- run_uid = db.Column(UUID(as_uuid=False), nullable=False)
- content_hash = db.Column(db.String(64), nullable=False)
- snapshot = db.Column(JSONB, nullable=False)
- actor_uid = db.Column(UUID(as_uuid=False), nullable=False)
- class ActiveMetadataChange(db.Model):
- __tablename__ = "active_metadata_changes"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- run_uid = db.Column(UUID(as_uuid=False), nullable=False)
- asset_uid = db.Column(UUID(as_uuid=False), nullable=False)
- asset_key = db.Column(db.String(500), nullable=False)
- field_name = db.Column(db.String(200))
- change_type = db.Column(db.String(40), nullable=False)
- before_state = db.Column(JSONB)
- after_state = db.Column(JSONB)
- status = db.Column(db.String(20), nullable=False)
- class ActiveMetadataLineage(db.Model):
- __tablename__ = "active_metadata_lineage"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- run_uid = db.Column(UUID(as_uuid=False), nullable=False)
- parse_status = db.Column(db.String(20), nullable=False)
- source_asset = db.Column(db.String(500))
- source_field = db.Column(db.String(200))
- target_asset = db.Column(db.String(500))
- target_field = db.Column(db.String(200))
- relation_type = db.Column(db.String(40), nullable=False)
- evidence = db.Column(JSONB, nullable=False)
- failure_reason = db.Column(db.String(500))
- class ActiveMetadataHealthSignal(db.Model):
- __tablename__ = "active_metadata_health_signals"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- asset_uid = db.Column(UUID(as_uuid=False), nullable=False)
- run_uid = db.Column(UUID(as_uuid=False), nullable=False)
- signal_type = db.Column(db.String(30), nullable=False)
- value = db.Column(JSONB)
- status = db.Column(db.String(20), nullable=False)
- evidence = db.Column(JSONB, nullable=False)
- class ActiveMetadataCorrection(db.Model):
- __tablename__ = "active_metadata_corrections"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- asset_uid = db.Column(UUID(as_uuid=False), nullable=False)
- field_name = db.Column(db.String(200))
- proposed_value = db.Column(JSONB, nullable=False)
- reason = db.Column(db.String(500), nullable=False)
- assignee_uid = db.Column(UUID(as_uuid=False), nullable=False)
- status = db.Column(db.String(20), nullable=False)
- resolution = db.Column(JSONB, nullable=False)
- current_version = db.Column(db.Integer, nullable=False)
- submitted_by = db.Column(UUID(as_uuid=False), nullable=False)
- resolved_by = db.Column(UUID(as_uuid=False))
- class ActiveMetadataCorrectionAudit(db.Model):
- __tablename__ = "active_metadata_correction_audits"
- __table_args__ = (
- db.UniqueConstraint("correction_uid", "version"),
- {"schema": "public"},
- )
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- correction_uid = db.Column(UUID(as_uuid=False), nullable=False)
- version = db.Column(db.Integer, nullable=False)
- action = db.Column(db.String(40), nullable=False)
- before_state = db.Column(JSONB)
- after_state = db.Column(JSONB, nullable=False)
- actor_uid = db.Column(UUID(as_uuid=False), nullable=False)
|