"""add notifications

Revision ID: b2c3d4e5f6a7
Revises: a1b2c3d4e5f6
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
revision='b2c3d4e5f6a7'; down_revision='a1b2c3d4e5f6'; branch_labels=None; depends_on=None
def upgrade():
 op.create_table('notifications',sa.Column('id',postgresql.UUID(as_uuid=True),primary_key=True),sa.Column('business_id',postgresql.UUID(as_uuid=True),sa.ForeignKey('businesses.id',ondelete='CASCADE'),nullable=False),sa.Column('branch_id',postgresql.UUID(as_uuid=True),sa.ForeignKey('branches.id',ondelete='CASCADE')),sa.Column('user_id',postgresql.UUID(as_uuid=True),sa.ForeignKey('users.id',ondelete='CASCADE')),sa.Column('category',sa.String(30),nullable=False),sa.Column('title',sa.String(200),nullable=False),sa.Column('message',sa.Text(),nullable=False),sa.Column('related_entity_type',sa.String(50)),sa.Column('related_entity_id',postgresql.UUID(as_uuid=True)),sa.Column('is_read',sa.Boolean(),nullable=False,server_default=sa.false()),sa.Column('read_at',sa.DateTime(timezone=True)),sa.Column('created_at',sa.DateTime(timezone=True),nullable=False))
 for name,cols in [('ix_notifications_business_id',['business_id']),('ix_notifications_branch_id',['branch_id']),('ix_notifications_user_id',['user_id']),('ix_notifications_is_read',['is_read']),('ix_notifications_created_at',['created_at']),('ix_notifications_business_read_created',['business_id','is_read','created_at'])]: op.create_index(name,'notifications',cols)
def downgrade(): op.drop_table('notifications')
