Merged with dev and fixed conflicts

This commit is contained in:
Fmstrat
2022-07-18 09:16:17 -04:00
349 changed files with 17812 additions and 7523 deletions

View File

@ -0,0 +1,44 @@
import os
import shutil
import click
from flask_migrate import upgrade
from fittrackee import db
from fittrackee.cli.app import app
BASEDIR = os.path.abspath(os.path.dirname(__file__))
app_settings = os.getenv('APP_SETTINGS', 'fittrackee.config.ProductionConfig')
@click.group(name='db')
def db_cli() -> None:
"""Manage database."""
pass
@db_cli.command('upgrade')
def upgrade_db() -> None:
"""Apply migrations."""
with app.app_context():
upgrade(directory=BASEDIR)
@db_cli.command('drop')
def drop_db() -> None:
"""Empty database and delete uploaded files for dev environments."""
with app.app_context():
if app_settings == 'fittrackee.config.ProductionConfig':
click.echo(
click.style(
'This is a production server, aborting!', bold=True
),
err=True,
)
return
db.engine.execute("DROP TABLE IF EXISTS alembic_version;")
db.drop_all()
db.session.commit()
click.echo('Database dropped.')
shutil.rmtree(app.config['UPLOAD_FOLDER'], ignore_errors=True)
click.echo('Uploaded files deleted.')

View File

@ -0,0 +1,59 @@
"""update User and AppConfig tables
Revision ID: 5e3a3a31c432
Revises: e30007d681cb
Create Date: 2022-02-23 11:05:24.223304
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '5e3a3a31c432'
down_revision = 'e30007d681cb'
branch_labels = None
depends_on = None
def upgrade():
op.alter_column(
'users', 'username', existing_type=sa.String(length=20),
type_=sa.String(length=255), existing_nullable=False
)
op.alter_column(
'users', 'email', existing_type=sa.String(length=120),
type_=sa.String(length=255), existing_nullable=False
)
op.add_column(
'users',
sa.Column('is_active', sa.Boolean(), default=False, nullable=True))
op.execute("UPDATE users SET is_active = true")
op.alter_column('users', 'is_active', nullable=False)
op.add_column(
'users',
sa.Column('email_to_confirm', sa.String(length=255), nullable=True))
op.add_column(
'users',
sa.Column('confirmation_token', sa.String(length=255), nullable=True))
op.add_column(
'app_config',
sa.Column('admin_contact', sa.String(length=255), nullable=True)
)
def downgrade():
op.drop_column('app_config', 'admin_contact')
op.drop_column('users', 'confirmation_token')
op.drop_column('users', 'email_to_confirm')
op.drop_column('users', 'is_active')
op.alter_column(
'users', 'email', existing_type=sa.String(length=255),
type_=sa.String(length=120), existing_nullable=False
)
op.alter_column(
'users', 'username', existing_type=sa.String(length=255),
type_=sa.String(length=20), existing_nullable=False
)