Basic task category/tag implementation

This commit is contained in:
digimint 2025-12-03 19:44:18 -06:00
parent 875c5f7f06
commit c7f6f3f4f1
Signed by: digimint
GPG key ID: 8DF1C6FD85ABF748
9 changed files with 317 additions and 21 deletions

View file

@ -0,0 +1,43 @@
"""Add category to task
Revision ID: 8576b056149e
Revises: 067ee615c967
Create Date: 2025-12-03 12:45:29.641119
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '8576b056149e'
down_revision = '067ee615c967'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('cat_to_task')
with op.batch_alter_table('task', schema=None) as batch_op:
batch_op.add_column(sa.Column('category', sa.Integer(), nullable=True))
batch_op.create_foreign_key('fk_task_cat', 'category', ['category'], ['id'], ondelete='SET NULL')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('task', schema=None) as batch_op:
batch_op.drop_constraint('fk_task_cat', type_='foreignkey')
batch_op.drop_column('category')
op.create_table('cat_to_task',
sa.Column('id', sa.INTEGER(), nullable=False),
sa.Column('cat', sa.INTEGER(), nullable=False),
sa.Column('task', sa.INTEGER(), nullable=False),
sa.ForeignKeyConstraint(['cat'], ['category.id'], name=op.f('fk_c2t_cat'), ondelete='CASCADE'),
sa.ForeignKeyConstraint(['task'], ['task.id'], name=op.f('fk_c2t_task'), ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###