/ migrations / versions / 023_add_project_invitations.py
023_add_project_invitations.py
 1  from alembic import op
 2  import sqlalchemy as sa
 3  
 4  revision = '023'
 5  down_revision = '022'
 6  branch_labels = None
 7  depends_on = None
 8  
 9  def upgrade():
10      try:
11          op.create_table(
12              'project_invitations',
13              sa.Column('id', sa.Integer(), primary_key=True, index=True),
14              sa.Column('project_id', sa.Integer(), sa.ForeignKey('projects.id'), nullable=False, index=True),
15              sa.Column('username', sa.String(255), nullable=False, index=True),
16              sa.Column('invited_by', sa.Integer(), sa.ForeignKey('users.id'), nullable=True),
17              sa.Column('status', sa.String(20), nullable=False, server_default='pending'),
18              sa.Column('created_at', sa.DateTime(), nullable=False),
19          )
20      except Exception as e:
21          print(f"Error creating project_invitations: {e}")
22  
23  def downgrade():
24      try:
25          op.drop_table('project_invitations')
26      except Exception as e:
27          print(f"Error dropping project_invitations: {e}")