deepdata: core product code (backend, frontend, runtime, deepflow module)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
from sqlalchemy import Column, String, TIMESTAMP, Text
|
||||
from sqlalchemy.orm import declarative_base
|
||||
from sqlalchemy.sql import func
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
||||
class BaseEntity(Base):
|
||||
"""
|
||||
Common base entity with audit fields.
|
||||
Subclasses may set `__ignore_data_scope__ = True` to opt-out of data-scope filtering.
|
||||
"""
|
||||
__abstract__ = True
|
||||
|
||||
created_at = Column(TIMESTAMP, server_default=func.current_timestamp(), comment="创建时间")
|
||||
updated_at = Column(TIMESTAMP, server_default=func.current_timestamp(), onupdate=func.current_timestamp(),
|
||||
comment="更新时间")
|
||||
created_by = Column(String(255), nullable=True, comment="创建者")
|
||||
updated_by = Column(String(255), nullable=True, comment="更新者")
|
||||
|
||||
# default: do enforce data scope unless subclass sets this to True
|
||||
__ignore_data_scope__ = False
|
||||
|
||||
|
||||
class LineageNode(Base):
|
||||
"""数据血缘:节点表(实体对象)"""
|
||||
|
||||
__tablename__ = "t_lineage_node"
|
||||
|
||||
id = Column(String(36), primary_key=True, comment="节点ID")
|
||||
graph_id = Column(String(36), nullable=True, comment="图ID")
|
||||
node_type = Column(String(64), nullable=False, comment="节点类型")
|
||||
name = Column(String(256), nullable=False, comment="节点名称")
|
||||
description = Column(Text, nullable=True, comment="节点描述")
|
||||
node_metadata = Column(Text, nullable=True, comment="节点扩展信息(JSON)")
|
||||
|
||||
|
||||
class LineageEdge(Base):
|
||||
"""数据血缘:边表(处理流程)"""
|
||||
|
||||
__tablename__ = "t_lineage_edge"
|
||||
|
||||
id = Column(String(36), primary_key=True, comment="边ID")
|
||||
graph_id = Column(String(36), nullable=True, comment="图ID")
|
||||
process_id = Column(String(36), nullable=True, comment="处理流程ID")
|
||||
edge_type = Column(String(64), nullable=False, comment="边类型")
|
||||
name = Column(String(256), nullable=True, comment="边名称")
|
||||
description = Column(Text, nullable=True, comment="边描述")
|
||||
edge_metadata = Column(Text, nullable=True, comment="边扩展信息(JSON)")
|
||||
from_node_id = Column(String(36), nullable=False, comment="源节点ID")
|
||||
to_node_id = Column(String(36), nullable=False, comment="目标节点ID")
|
||||
Reference in New Issue
Block a user