Spaces:
Running
Running
from alembic import op | |
import sqlalchemy as sa | |
revision = '0001_init' | |
down_revision = None | |
branch_labels = None | |
depends_on = None | |
def upgrade(): | |
op.create_table( | |
'users', | |
sa.Column('id', sa.Integer(), primary_key=True), | |
sa.Column('email', sa.String(255), nullable=False, unique=True), | |
sa.Column('password_hash', sa.String(255), nullable=False), | |
sa.Column('created_at', sa.DateTime(), nullable=True), | |
) | |
op.create_table( | |
'api_keys', | |
sa.Column('id', sa.Integer(), primary_key=True), | |
sa.Column('key', sa.String(255), nullable=False, unique=True), | |
sa.Column('revoked', sa.Boolean(), default=False), | |
sa.Column('created_at', sa.DateTime(), nullable=True), | |
sa.Column('user_id', sa.Integer(), sa.ForeignKey('users.id', ondelete='CASCADE')) | |
) | |
op.create_table( | |
'chat_history', | |
sa.Column('id', sa.Integer(), primary_key=True), | |
sa.Column('role', sa.String(20)), | |
sa.Column('content', sa.Text(), nullable=False), | |
sa.Column('created_at', sa.DateTime(), nullable=True), | |
sa.Column('user_id', sa.Integer(), sa.ForeignKey('users.id', ondelete='CASCADE')) | |
) | |
def downgrade(): | |
op.drop_table('chat_history') | |
op.drop_table('api_keys') | |
op.drop_table('users') | |