Can not import grpc modules.
_ __ __ ______
| | | \/ | ____/\
___ __| |_ _| \ / | |__ / \
/ _ \/ _` | | | | |\/| | __/ /\ \
| __/ (_| | |_| | | | | | / ____ \
\___|\__,_|\__,_|_| |_|_|/_/ \_ v1.4.0
++ Stamping DB to 4f32a4e1bf33
Can not import grpc modules.
_ __ __ ______
| | | \/ | ____/\
___ __| |_ _| \ / | |__ / \
/ _ \/ _` | | | | |\/| | __/ /\ \
| __/ (_| | |_| | | | | | / ____ \
\___|\__,_|\__,_|_| |_|_|/_/ \_ v1.4.0
++ Upgrading DB schema.
Can not import grpc modules.
_ __ __ ______
| | | \/ | ____/\
___ __| |_ _| \ / | |__ / \
/ _ \/ _` | | | | |\/| | __/ /\ \
| __/ (_| | |_| | | | | | / ____ \
\___|\__,_|\__,_|_| |_|_|/_/ \_ v1.4.0
Running online
Good. Column tokeninfo already exists.
Good. Column priority already exists.
Good. Column adminrealm already exists.
Good. Column revoked already exists.
Good. Column locked already exists.
(MySQLdb.OperationalError) (1050, "Table 'smtpserver' already exists")
[SQL:
CREATE TABLE smtpserver (
id INTEGER NOT NULL AUTO_INCREMENT,
identifier VARCHAR(255) NOT NULL,
server VARCHAR(255) NOT NULL,
port INTEGER,
username VARCHAR(255),
password VARCHAR(255),
sender VARCHAR(255),
tls BOOL,
description VARCHAR(2000),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
(MySQLdb.OperationalError) (1050, "Table 'passwordreset' already exists")
[SQL:
CREATE TABLE passwordreset (
id INTEGER NOT NULL AUTO_INCREMENT,
recoverycode VARCHAR(255) NOT NULL,
username VARCHAR(64) NOT NULL,
realm VARCHAR(64) NOT NULL,
resolver VARCHAR(64),
email VARCHAR(255),
timestamp DATETIME(6),
expiration DATETIME(6),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
(MySQLdb.OperationalError) (1050, "Table 'radiusserver' already exists")
[SQL:
CREATE TABLE radiusserver (
id INTEGER NOT NULL AUTO_INCREMENT,
identifier VARCHAR(255) NOT NULL,
server VARCHAR(255) NOT NULL,
port INTEGER,
secret VARCHAR(255),
description VARCHAR(2000),
PRIMARY KEY (id),
UNIQUE (identifier)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Good. Table 'radiusserver' already exists.
(MySQLdb.OperationalError) (1050, "Table 'eventhandler' already exists")
[SQL:
CREATE TABLE eventhandler (
id INTEGER NOT NULL AUTO_INCREMENT,
ordering INTEGER NOT NULL,
event VARCHAR(255) NOT NULL,
handlermodule VARCHAR(255) NOT NULL,
`condition` VARCHAR(1024),
action VARCHAR(1024),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Table already exists
(MySQLdb.OperationalError) (1050, "Table 'smsgateway' already exists")
[SQL:
CREATE TABLE smsgateway (
id INTEGER NOT NULL AUTO_INCREMENT,
identifier VARCHAR(255) NOT NULL,
description VARCHAR(1024),
providermodule VARCHAR(1024) NOT NULL,
PRIMARY KEY (id),
UNIQUE (identifier)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Table already exists
(MySQLdb.OperationalError) (1050, "Table 'eventhandlercondition' already exists")
[SQL:
CREATE TABLE eventhandlercondition (
id INTEGER NOT NULL AUTO_INCREMENT,
eventhandler_id INTEGER,
`Key` VARCHAR(255) NOT NULL,
`Value` VARCHAR(2000),
comparator VARCHAR(255),
PRIMARY KEY (id),
FOREIGN KEY(eventhandler_id) REFERENCES eventhandler (id),
CONSTRAINT ehcix_1 UNIQUE (eventhandler_id, `Key`)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Table already exists
(MySQLdb.OperationalError) (1050, "Table 'clientapplication' already exists")
[SQL:
CREATE TABLE clientapplication (
id INTEGER NOT NULL AUTO_INCREMENT,
ip VARCHAR(255) NOT NULL,
hostname VARCHAR(255),
clienttype VARCHAR(255) NOT NULL,
lastseen DATETIME(6),
PRIMARY KEY (id),
CONSTRAINT caix UNIQUE (ip, clienttype)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Table subscription exists
(MySQLdb.OperationalError) (1050, "Table 'subscription' already exists")
[SQL:
CREATE TABLE subscription (
id INTEGER NOT NULL AUTO_INCREMENT,
application VARCHAR(30),
for_name VARCHAR(50) NOT NULL,
for_address VARCHAR(128),
for_email VARCHAR(128) NOT NULL,
for_phone VARCHAR(50) NOT NULL,
for_url VARCHAR(80),
for_comment VARCHAR(255),
by_name VARCHAR(50) NOT NULL,
by_email VARCHAR(128) NOT NULL,
by_address VARCHAR(128),
by_phone VARCHAR(50),
by_url VARCHAR(80),
date_from DATETIME(6),
date_till DATETIME(6),
num_users INTEGER,
num_tokens INTEGER,
num_clients INTEGER,
level VARCHAR(30),
signature VARCHAR(640),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
pidea_audit table obviously already exists.
(MySQLdb.OperationalError) (1050, "Table 'pidea_audit' already exists")
[SQL:
CREATE TABLE pidea_audit (
id INTEGER NOT NULL AUTO_INCREMENT,
date DATETIME(6),
signature VARCHAR(620),
action VARCHAR(50),
success INTEGER,
serial VARCHAR(20),
token_type VARCHAR(12),
user VARCHAR(20),
realm VARCHAR(20),
administrator VARCHAR(20),
action_detail VARCHAR(50),
info VARCHAR(50),
privacyidea_server VARCHAR(255),
client VARCHAR(50),
loglevel VARCHAR(12),
clearance_level VARCHAR(12),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
column resolver in pidea_audit obviously already exists.
(MySQLdb.OperationalError) (1060, "Duplicate column name 'resolver'")
[SQL: ALTER TABLE pidea_audit ADD COLUMN resolver VARCHAR(50)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Good. Columns name and active already exist.
Could not add column 'check_all_resolvers'
(MySQLdb.OperationalError) (1060, "Duplicate column name 'check_all_resolvers'")
[SQL: ALTER TABLE policy ADD COLUMN check_all_resolvers BOOL]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add index in table pidea_audit.
(MySQLdb.OperationalError) (1061, "Duplicate key name 'ix_pidea_audit_user'")
[SQL: CREATE INDEX ix_pidea_audit_user ON pidea_audit (user)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add index to 'challenge.serial'
(MySQLdb.OperationalError) (1061, "Duplicate key name 'ix_challenge_serial'")
[SQL: CREATE INDEX ix_challenge_serial ON challenge (serial)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not create table 'usercache'.
(MySQLdb.OperationalError) (1050, "Table 'usercache' already exists")
[SQL:
CREATE TABLE usercache (
id INTEGER NOT NULL AUTO_INCREMENT,
username VARCHAR(64),
resolver VARCHAR(120),
user_id VARCHAR(320),
timestamp DATETIME(6),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
## Schema seems already to be oracle compatible.
(MySQLdb.OperationalError) (1091, "Can't DROP 'ix_clientapplication_id'; check that column/key exists")
[SQL:
DROP INDEX ix_clientapplication_id ON clientapplication]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
## Unnecessary columns in table usercache obviously do not exist anymore.
(MySQLdb.OperationalError) (1091, "Can't DROP 'realm'; check that column/key exists")
[SQL: ALTER TABLE usercache DROP COLUMN realm]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add table 'authcache' - probably already exists!
(MySQLdb.OperationalError) (1050, "Table 'authcache' already exists")
[SQL:
CREATE TABLE authcache (
id INTEGER NOT NULL AUTO_INCREMENT,
first_auth DATETIME(6),
last_auth DATETIME(6),
username VARCHAR(64),
resolver VARCHAR(120),
realm VARCHAR(120),
client_ip VARCHAR(40),
user_agent VARCHAR(120),
authentication VARCHAR(64),
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Can not create table 'privacyideaserver'. It probably already exists
(MySQLdb.OperationalError) (1050, "Table 'privacyideaserver' already exists")
[SQL:
CREATE TABLE privacyideaserver (
id INTEGER NOT NULL AUTO_INCREMENT,
identifier VARCHAR(255) NOT NULL,
url VARCHAR(255) NOT NULL,
tls BOOL,
description VARCHAR(2000),
PRIMARY KEY (id),
UNIQUE (identifier)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add retries and timeout to radiusserver
(MySQLdb.OperationalError) (1060, "Duplicate column name 'retries'")
[SQL: ALTER TABLE radiusserver ADD COLUMN retries INTEGER]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add column 'smtpserver.timeout'
(MySQLdb.OperationalError) (1060, "Duplicate column name 'timeout'")
[SQL: ALTER TABLE smtpserver ADD COLUMN timeout INTEGER]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not create table eventcounter. Probably already exists!
(MySQLdb.OperationalError) (1050, "Table 'eventcounter' already exists")
[SQL:
CREATE TABLE eventcounter (
counter_name VARCHAR(80) NOT NULL,
counter_value INTEGER,
PRIMARY KEY (counter_name)
)
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add column 'priority' to table 'policy'.
(MySQLdb.OperationalError) (1060, "Duplicate column name 'priority'")
[SQL: ALTER TABLE policy ADD COLUMN priority INTEGER NOT NULL DEFAULT '1']
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add tables for periodic tasks!
(MySQLdb.OperationalError) (1050, "Table 'periodictask' already exists")
[SQL:
CREATE TABLE periodictask (
id INTEGER NOT NULL AUTO_INCREMENT,
name VARCHAR(64) NOT NULL,
active BOOL NOT NULL,
`interval` VARCHAR(256) NOT NULL,
nodes VARCHAR(256) NOT NULL,
taskmodule VARCHAR(256) NOT NULL,
ordering INTEGER NOT NULL,
last_update DATETIME(6) NOT NULL,
PRIMARY KEY (id),
UNIQUE (name)
)ROW_FORMAT=DYNAMIC
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add table for monitoring stats!
(MySQLdb.OperationalError) (1050, "Table 'monitoringstats' already exists")
[SQL:
CREATE TABLE monitoringstats (
id INTEGER NOT NULL AUTO_INCREMENT,
timestamp DATETIME(6) NOT NULL,
stats_key VARCHAR(128) NOT NULL,
stats_value INTEGER NOT NULL,
PRIMARY KEY (id),
CONSTRAINT msix_1 UNIQUE (timestamp, stats_key)
)ROW_FORMAT=DYNAMIC
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
position column in eventhandler table obviously already exists.
(MySQLdb.OperationalError) (1060, "Duplicate column name 'position'")
[SQL: ALTER TABLE eventhandler ADD COLUMN position VARCHAR(10)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Creation of periodictasklastrun and periodictaskoption with shortened columns failed: OperationalError('(MySQLdb.OperationalError) (1050, "Table \'periodictasklastrun\' already exists")')
This is expected behavior if they were already present.
Successfully shortened columns of periodictasklastrun and periodictaskoption.
Adding of column "policies" in table pidea_audit failed: OperationalError('(MySQLdb.OperationalError) (1060, "Duplicate column name \'policies\'")')
This is expected behavior if this column already exists.
Adding of column "used_login" in table usercache failed: OperationalError('(MySQLdb.OperationalError) (1060, "Duplicate column name \'used_login\'")')
This is expected behavior if this column already exists.
Can not create table 'tokenowner'. It probably already exists
(MySQLdb.OperationalError) (1050, "Table 'tokenowner' already exists")
[SQL:
CREATE TABLE tokenowner (
id INTEGER NOT NULL AUTO_INCREMENT,
token_id INTEGER,
resolver VARCHAR(120),
user_id VARCHAR(320),
realm_id INTEGER,
PRIMARY KEY (id),
FOREIGN KEY(realm_id) REFERENCES realm (id),
FOREIGN KEY(token_id) REFERENCES token (id)
)ROW_FORMAT=DYNAMIC
]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Failed to migrate token assignment data!
(MySQLdb.OperationalError) (1054, "Unknown column 'token.resolver' in 'field list'")
[SQL: SELECT token.id AS token_id, token.serial AS token_serial, token.resolver AS token_resolver, token.resolver_type AS token_resolver_type, token.user_id AS token_user_id
FROM token
WHERE token.user_id != %s AND token.user_id IS NOT NULL]
[parameters: ('',)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add column 'smtpserver.enqueue_job'
(MySQLdb.OperationalError) (1060, "Duplicate column name 'enqueue_job'")
[SQL: ALTER TABLE smtpserver ADD COLUMN enqueue_job BOOL NOT NULL DEFAULT false]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
No admin policy active. No need to create 'tokenlist' action.
Could not create table policycondition: OperationalError('(MySQLdb.OperationalError) (1050, "Table \'policycondition\' already exists")')
No admin policy active. No need to create 'periodictask_read,mresolverread,edumfaserver_read,radiusserver_read,smtpserver_read,eventhandling_read,policyread,resolverread,caconnectorread,smsgateway_read,statistics_read,configread' action.
Failed to add 'node' column to 'clientapplication' table
(MySQLdb.OperationalError) (1060, "Duplicate column name 'node'")
[SQL: ALTER TABLE clientapplication ADD COLUMN node VARCHAR(255) NOT NULL DEFAULT 'localnode']
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Adding of column "adminuser" in table policy failed: OperationalError('(MySQLdb.OperationalError) (1060, "Duplicate column name \'adminuser\'")')
This is expected behavior if this column already exists.
Adding of column "pinode" in table policy failed: OperationalError('(MySQLdb.OperationalError) (1060, "Duplicate column name \'pinode\'")')
This is expected behavior if this column already exists.
Could not add duration and startdate to the table pidea_audit.
(MySQLdb.OperationalError) (1060, "Duplicate column name 'duration'")
[SQL: ALTER TABLE pidea_audit ADD COLUMN duration DATETIME(6)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Good. Column adminrealm already exists.
Could not add table 'userattribute'.
(MySQLdb.OperationalError) (1050, "Table 'customuserattribute' already exists")
[SQL:
CREATE TABLE customuserattribute (
id INTEGER NOT NULL AUTO_INCREMENT,
user_id VARCHAR(320),
resolver VARCHAR(120),
realm_id INTEGER,
`Key` VARCHAR(255) NOT NULL,
`Value` TEXT,
`Type` VARCHAR(100),
PRIMARY KEY (id),
FOREIGN KEY(realm_id) REFERENCES realm (id)
)
]
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1054, "Unknown column 'policy.edumfanode' in 'field list'")
[SQL: SELECT policy.id AS policy_id, policy.active AS policy_active, policy.check_all_resolvers AS policy_check_all_resolvers, policy.name AS policy_name, policy.scope AS policy_scope, policy.action AS policy_action, policy.realm AS policy_realm, policy.adminrealm AS policy_adminrealm, policy.adminuser AS policy_adminuser, policy.resolver AS policy_resolver, policy.edumfanode AS policy_edumfanode, policy.user AS policy_user, policy.client AS policy_client, policy.time AS policy_time, policy.priority AS policy_priority, policycondition_1.id AS policycondition_1_id, policycondition_1.policy_id AS policycondition_1_policy_id, policycondition_1.section AS policycondition_1_section, policycondition_1.`Key` AS `policycondition_1_Key`, policycondition_1.comparator AS policycondition_1_comparator, policycondition_1.`Value` AS `policycondition_1_Value`, policycondition_1.active AS policycondition_1_active
FROM policy LEFT OUTER JOIN policycondition AS policycondition_1 ON policy.id = policycondition_1.policy_id ORDER BY policycondition_1.id]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Could not add column 'retry_if_failed'
(MySQLdb.OperationalError) (1060, "Duplicate column name 'retry_if_failed'")
[SQL: ALTER TABLE periodictask ADD COLUMN retry_if_failed BOOL NOT NULL DEFAULT true]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
[]
Traceback (most recent call last):
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/connections.py", line 257, in query
_mysql.connection.query(self, query)
MySQLdb.OperationalError: (1054, "Unknown column 'policy.edumfanode' in 'field list'")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/edumfa/venv/bin/edumfa-manage", line 1718, in <module>
manager.run()
File "/opt/edumfa/venv/lib/python3.10/site-packages/flask_script/__init__.py", line 417, in run
result = self.handle(argv[0], argv[1:])
File "/opt/edumfa/venv/lib/python3.10/site-packages/flask_script/__init__.py", line 386, in handle
res = handle(*args, **config)
File "/opt/edumfa/venv/lib/python3.10/site-packages/flask_script/commands.py", line 216, in __call__
return self.run(*args, **kwargs)
File "/opt/edumfa/venv/lib/python3.10/site-packages/flask_migrate/__init__.py", line 96, in wrapped
f(*args, **kwargs)
File "/opt/edumfa/venv/lib/python3.10/site-packages/flask_migrate/__init__.py", line 271, in upgrade
command.upgrade(config, revision, sql=sql, tag=tag)
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/command.py", line 403, in upgrade
script.run_env()
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/script/base.py", line 583, in run_env
util.load_python_file(self.dir, "env.py")
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
module = load_module_py(module_id, path)
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
spec.loader.exec_module(module) # type: ignore
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/opt/edumfa/eduMFA/migrations/env.py", line 110, in <module>
run_migrations_online()
File "/opt/edumfa/eduMFA/migrations/env.py", line 100, in run_migrations_online
context.run_migrations()
File "<string>", line 8, in run_migrations
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/runtime/environment.py", line 948, in run_migrations
self.get_context().run_migrations(**kw)
File "/opt/edumfa/venv/lib/python3.10/site-packages/alembic/runtime/migration.py", line 627, in run_migrations
step.migration_fn(**kw)
File "/opt/edumfa/eduMFA/migrations/versions/fa07bd604a75.py", line 24, in upgrade
pols = P.list_policies(scope=SCOPE.ENROLL,
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/log.py", line 148, in log_wrapper
return func(*args, **kwds)
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/policy.py", line 508, in list_policies
reduced_policies = self.policies
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/policy.py", line 430, in policies
return get_config_object().policies
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/config.py", line 344, in get_config_object
store['config_object'] = shared_config.reload_and_clone()
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/config.py", line 197, in reload_and_clone
self._reload_from_db()
File "/opt/edumfa/venv/lib/python3.10/site-packages/edumfa/lib/config.py", line 145, in _reload_from_db
for pol in Policy.query.all():
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2773, in all
return self._iter().all()
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2916, in _iter
result = self.session.execute(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
result = conn._execute_20(statement, params or {}, execution_options)
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
return meth(self, args_10style, kwargs_10style, execution_options)
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
ret = self._execute_context(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1953, in _execute_context
self._handle_dbapi_exception(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2134, in _handle_dbapi_exception
util.raise_(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
raise exception
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "/opt/edumfa/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
File "/opt/edumfa/venv/lib/python3.10/site-packages/MySQLdb/connections.py", line 257, in query
_mysql.connection.query(self, query)