"""Store waveform peaks inline in audio_versions table. Replaces file-based waveform_url approach with two JSONB columns: - waveform_peaks: 500-point peaks for the player (passed directly to WaveSurfer) - waveform_peaks_mini: 100-point peaks for library/overview mini-waveform SVG Revision ID: 0006_waveform_peaks_in_db Revises: 0005_comment_tag Create Date: 2026-04-10 """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects.postgresql import JSONB revision = "0006_waveform_peaks_in_db" down_revision = "0005_comment_tag" branch_labels = None depends_on = None def upgrade() -> None: op.add_column( "audio_versions", sa.Column("waveform_peaks", JSONB, nullable=True), ) op.add_column( "audio_versions", sa.Column("waveform_peaks_mini", JSONB, nullable=True), ) def downgrade() -> None: op.drop_column("audio_versions", "waveform_peaks_mini") op.drop_column("audio_versions", "waveform_peaks")