FitTrackee/fittrackee/database_utils.py
2021-11-03 17:25:28 +01:00

69 lines
2.2 KiB
Python

from flask import Flask
from fittrackee import db
from fittrackee.application.utils import (
init_config,
update_app_config_from_database,
)
from fittrackee.users.models import User
from fittrackee.workouts.models import Sport
def init_database(app: Flask) -> None:
"""Init the database."""
admin = User(
username='admin', email='admin@example.com', password='mpwoadmin'
)
admin.admin = True
admin.timezone = 'Europe/Paris'
db.session.add(admin)
sport = Sport(label='Cycling (Sport)')
sport.img = '/img/sports/cycling-sport.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Cycling (Transport)')
sport.img = '/img/sports/cycling-transport.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Hiking')
sport.img = '/img/sports/hiking.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Mountain Biking')
sport.img = '/img/sports/mountain-biking.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Mountain Biking (Electric)')
sport.img = '/img/sports/electric-mountain-biking.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Running')
sport.img = '/img/sports/running.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Trail')
sport.img = '/img/sports/trail.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Walking')
sport.img = '/img/sports/walking.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Skiing (Alpine)')
sport.img = '/img/sports/alpine-skiing.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Skiing (Cross Country)')
sport.img = '/img/sports/cross-country-skiing.png'
sport.is_default = True
db.session.add(sport)
sport = Sport(label='Rowing')
sport.img = '/img/sports/rowing.png'
sport.is_default = True
db.session.add(sport)
db.session.commit()
_, db_app_config = init_config()
update_app_config_from_database(app, db_app_config)
print('Initial data stored in database.')