mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-10-13 09:48:19 +00:00

* Update `TableDiffParamsSetter` to move data at table level This means that `key_columns` and `extra_columns` will be defined per table instead of "globally", just like `data_diff` expects * Update `TableDiffValidator` to use table's `key_columns` Call `data_diff` and run validations using each table's `key_columns` * Create migration to update `tableDiff` test definition * Fix Playwright test
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""Models for the TableDiff test case"""
|
|
|
|
from typing import List, Optional, Union
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from metadata.generated.schema.entity.data.table import (
|
|
Column,
|
|
Table,
|
|
TableProfilerConfig,
|
|
)
|
|
from metadata.generated.schema.entity.services.databaseService import (
|
|
DatabaseConnection,
|
|
DatabaseServiceType,
|
|
)
|
|
from metadata.ingestion.models.custom_pydantic import CustomSecretStr
|
|
|
|
|
|
class TableParameter(BaseModel):
|
|
serviceUrl: Union[str, dict]
|
|
path: str
|
|
columns: List[Column]
|
|
database_service_type: DatabaseServiceType
|
|
privateKey: Optional[CustomSecretStr]
|
|
passPhrase: Optional[CustomSecretStr]
|
|
key_columns: Optional[list[str]] = None
|
|
extra_columns: Optional[list[str]] = None
|
|
|
|
|
|
class TableDiffRuntimeParameters(BaseModel):
|
|
table1: TableParameter
|
|
table2: TableParameter
|
|
keyColumns: Optional[List[str]] = Field(
|
|
..., deprecated="Please use `tableX.key_columns` instead"
|
|
)
|
|
extraColumns: Optional[List[str]] = Field(
|
|
..., deprecated="Please use `tableX.extra_columns` instead"
|
|
)
|
|
whereClause: Optional[str]
|
|
table_profile_config: Optional[TableProfilerConfig]
|
|
|
|
|
|
class TableCustomSQLQueryRuntimeParameters(BaseModel):
|
|
conn_config: DatabaseConnection
|
|
entity: Table
|