/ migrations / versions / 003_add_user_options.py
003_add_user_options.py
 1  from sqlalchemy import text, Column, Text
 2  from alembic import op
 3  
 4  # revision identifiers, used by Alembic.
 5  revision = '003'
 6  down_revision = '002'
 7  branch_labels = None
 8  depends_on = None
 9  
10  def upgrade():
11      # Add options column to users table
12      try:
13          op.add_column('users', Column('options', Text(), nullable=True))
14      except Exception as e:
15          print(e)
16      
17      # Set default value for existing users
18      try:
19          op.execute(text("UPDATE users SET options = '{\"credit\": -1.0}' WHERE options IS NULL"))
20      except Exception as e:
21          print(e)
22  
23  def downgrade():
24      pass