text: """empty message
  
  Revision ID: c97606f18e39
  Revises: 
  Create Date: 2020-11-18 14:55:49.645277
  
  """
  from alembic import op
  import sqlalchemy as sa
  
  
  # revision identifiers, used by Alembic.
  revision = 'c97606f18e39'
  down_revision = None
  branch_labels = None
  depends_on = None
  
  
  def upgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.create_table('funnels',
      sa.Column('id', sa.Integer(), nullable=False),
      sa.Column('funnel_name', sa.String(length=80), nullable=False),
      sa.Column('shipping_cost', sa.Integer(), nullable=True),
      sa.Column('callcenter_cost', sa.Integer(), nullable=True),
      sa.Column('advertising_cost', sa.Integer(), nullable=True),
      sa.Column('fe_percent', sa.Integer(), nullable=True),
      sa.Column('traffic', sa.Integer(), nullable=True),
      sa.Column('has_salespage', sa.Boolean(), nullable=True),
      sa.PrimaryKeyConstraint('id'),
      sa.UniqueConstraint('funnel_name')
      )
      op.create_table('orders',
      sa.Column('id', sa.Integer(), nullable=False),
      sa.Column('funnel_id', sa.String(length=80), nullable=False),
      sa.Column('product_id', sa.Integer(), nullable=False),
      sa.Column('product_cost', sa.Integer(), nullable=False),
      sa.Column('date_inserted', sa.Date(), nullable=True),
      sa.PrimaryKeyConstraint('id'),
      sa.UniqueConstraint('funnel_id')
      )
      op.create_table('users',
      sa.Column('id', sa.Integer(), nullable=False),
      sa.Column('username', sa.String(length=80), nullable=False),
      sa.Column('email', sa.String(length=80), nullable=False),
      sa.Column('password', sa.LargeBinary(length=128), nullable=True),
      sa.Column('created_at', sa.DateTime(), nullable=False),
      sa.Column('first_name', sa.String(length=30), nullable=True),
      sa.Column('last_name', sa.String(length=30), nullable=True),
      sa.Column('active', sa.Boolean(), nullable=True),
      sa.Column('is_admin', sa.Boolean(), nullable=True),
      sa.PrimaryKeyConstraint('id'),
      sa.UniqueConstraint('email'),
      sa.UniqueConstraint('username')
      )
      op.create_table('costs',
      sa.Column('id', sa.Integer(), nullable=False),
      sa.Column('product_name', sa.String(length=80), nullable=False),
      sa.Column('product_type', sa.String(length=80), nullable=True),
      sa.Column('cost', sa.Integer(), nullable=False),
      sa.Column('price', sa.Integer(), nullable=True),
      sa.Column('shipping', sa.Integer(), nullable=True),
      sa.Column('incoming_traffic', sa.Integer(), nullable=True),
      sa.Column('take_rate', sa.Integer(), nullable=True),
      sa.Column('total_revenue', sa.Integer(), nullable=True),
      sa.Column('total_orders', sa.Integer(), nullable=True),
      sa.Column('products_offered', sa.Integer(), nullable=True),
      sa.Column('up_cost_avg', sa.Integer(), nullable=True),
      sa.Column('funnel_id', sa.Integer(), nullable=True),
      sa.ForeignKeyConstraint(['funnel_id'], ['funnels.id'], ondelete='CASCADE'),
      sa.PrimaryKeyConstraint('id')
      )
      op.create_table('roles',
      sa.Column('id', sa.Integer(), nullable=False),
      sa.Column('name', sa.String(length=80), nullable=False),
      sa.Column('user_id', sa.Integer(), nullable=True),
      sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
      sa.PrimaryKeyConstraint('id'),
      sa.UniqueConstraint('name')
      )
      # ### end Alembic commands ###
  
  
  def downgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.drop_table('roles')
      op.drop_table('costs')
      op.drop_table('users')
      op.drop_table('orders')
      op.drop_table('funnels')
      # ### end Alembic commands ###
  