Add Migration schema

This commit is contained in:
Backend IM Bot 2025-03-27 18:04:50 +00:00
parent 58f6012a0b
commit 5b6bfbfb9c

38
schemas/migration.py Normal file
View File

@ -0,0 +1,38 @@
from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
class MigrationBase(BaseModel):
version: str = Field(..., description="Migration version identifier", index=True)
description: Optional[str] = Field(None, description="Migration description")
applied: bool = Field(False, description="Whether the migration has been applied")
script_path: str = Field(..., description="Path to the migration script file")
checksum: Optional[str] = Field(None, description="Migration file checksum")
execution_time: Optional[datetime] = Field(None, description="When the migration was executed")
class MigrationCreate(MigrationBase):
class Config:
schema_extra = {
"example": {
"version": "v1.0.0",
"description": "Initial schema migration",
"applied": False,
"script_path": "/migrations/v1_0_0_initial.sql",
"checksum": "a1b2c3d4e5f6",
"execution_time": "2023-01-01T00:00:00"
}
}
class Migration(MigrationBase):
class Config:
orm_mode = True
schema_extra = {
"example": {
"version": "v1.0.0",
"description": "Initial schema migration",
"applied": True,
"script_path": "/migrations/v1_0_0_initial.sql",
"checksum": "a1b2c3d4e5f6",
"execution_time": "2023-01-01T00:00:00"
}
}