Initial Commit für das Grundgerüst der Anwendung, bestehend aus der Dev-Container Konfiguration, der Docker und docker-Compose Definitionen sowie der Verzeichnisse App_Server für die Backend-Programme sowie Client für die browserseitigen GUI-Komponenten
This commit is contained in:
1 parent
10549934ea
commit
1ba78992a6
63 files changed
+5410
No files matched your search
@@ -0,0 +1,86 @@
|
||||
from datetime import datetime
|
||||
from auth import model
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.exc import OperationalError
|
||||
from datetime import datetime
|
||||
from db import dbauth
|
||||
|
||||
session = dbauth.session
|
||||
BINDKEY = "auth"
|
||||
|
||||
def _db_V01_00():
|
||||
# "bind_key=None" bedeutet hier, dass bei "create_all" nur die Models mit
|
||||
# Default-Bind erzeugt werden sollen und nicht die anderen, insbesonder
|
||||
# nicht die zum MS-SQL-SErver
|
||||
dbauth.create_all(bind_key=BINDKEY)
|
||||
systeminfo = model.Systeminfo()
|
||||
systeminfo.id = 1
|
||||
systeminfo.version = "01.00"
|
||||
systeminfo.lastupdate = datetime.now()
|
||||
systeminfo.initialinstall = datetime.now()
|
||||
session.add(systeminfo)
|
||||
session.commit()
|
||||
|
||||
def _db_V01_01():
|
||||
u = model.User()
|
||||
u.id = 1
|
||||
u.userid = 'System.Admin'
|
||||
u.username = 'Systemadministrator'
|
||||
u.password = "geheim"
|
||||
u.email = ''
|
||||
session.add(u)
|
||||
|
||||
sysmgr = model.Role()
|
||||
sysmgr.id = 1
|
||||
sysmgr.name = "Systemadministrator"
|
||||
sysmgr.roleid = "SysAdmin"
|
||||
session.add(sysmgr)
|
||||
|
||||
appmgr = model.Role()
|
||||
appmgr.name = "Anwendungsadministrator"
|
||||
appmgr.roleid = "AppAdmin"
|
||||
session.add(appmgr)
|
||||
|
||||
usermgr = model.Role()
|
||||
usermgr.name = "Benutzerverwaltung"
|
||||
usermgr.roleid = "UserMgr"
|
||||
session.add(usermgr)
|
||||
|
||||
application = model.Application()
|
||||
application.id = 1
|
||||
application.appid = "Project01"
|
||||
application.name = "Project01 (Name ändern)"
|
||||
session.add(application)
|
||||
|
||||
userapp = model.Userapp()
|
||||
userapp.application = application
|
||||
userapp.userapp_roles.append(sysmgr)
|
||||
session.add(userapp)
|
||||
u.userapps.append(userapp)
|
||||
|
||||
_updatesysteminfo('01.01')
|
||||
session.commit()
|
||||
|
||||
def _updatesysteminfo(versionnr):
|
||||
s: model.Systeminfo = model.Systeminfo.query.get(1)
|
||||
s.version = versionnr
|
||||
s.lastupdate = datetime.now()
|
||||
return
|
||||
|
||||
def checkupdates():
|
||||
systeminfo = None
|
||||
curr_dbversion = '_db_V01_00'
|
||||
try:
|
||||
systeminfo: model.Systeminfo = model.Systeminfo.query.get(1)
|
||||
curr_dbversion = "_db_V" + systeminfo.version.replace(".", "_")
|
||||
except (OperationalError, AttributeError):
|
||||
_db_V01_00()
|
||||
|
||||
versionen = sorted(filter(lambda f: f.startswith("_db_V"),globals()))
|
||||
|
||||
for v in versionen:
|
||||
if v > curr_dbversion:
|
||||
globals()[v]() # https://docs.python.org/3.6/library/functions.html?highlight=globals#globals
|
||||
|
||||
print('########## Database updated')
|
||||
|
||||
Reference in new issue
Block a user