homelab_automation/alembic/versions/0006_add_host_metrics_details.py

43 lines
1.6 KiB
Python

"""Add detailed CPU/disk fields to host_metrics
Revision ID: 0006_add_host_metrics_details
Revises: 0005_add_host_metrics
Create Date: 2025-12-12
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
revision: str = '0006_add_host_metrics_details'
down_revision: Union[str, None] = '0005_add_host_metrics'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.add_column('host_metrics', sa.Column('cpu_cores', sa.Integer(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_threads', sa.Integer(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_threads_per_core', sa.Integer(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_sockets', sa.Integer(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_mhz', sa.Float(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_max_mhz', sa.Float(), nullable=True))
op.add_column('host_metrics', sa.Column('cpu_min_mhz', sa.Float(), nullable=True))
op.add_column('host_metrics', sa.Column('disk_devices', sa.JSON(), nullable=True))
def downgrade() -> None:
op.drop_column('host_metrics', 'disk_devices')
op.drop_column('host_metrics', 'cpu_min_mhz')
op.drop_column('host_metrics', 'cpu_max_mhz')
op.drop_column('host_metrics', 'cpu_mhz')
op.drop_column('host_metrics', 'cpu_sockets')
op.drop_column('host_metrics', 'cpu_threads_per_core')
op.drop_column('host_metrics', 'cpu_threads')
op.drop_column('host_metrics', 'cpu_cores')