forked from CGM_Public/pretix_original
Refuse to update on old MySQL
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
# Generated by Django 2.1 on 2018-10-17 00:24
|
# Generated by Django 2.1 on 2018-10-17 00:24
|
||||||
|
|
||||||
import jsonfallback.fields
|
import jsonfallback.fields
|
||||||
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
|
from django_mysql.checks import mysql_connections
|
||||||
|
from django_mysql.utils import connection_is_mariadb
|
||||||
|
|
||||||
|
|
||||||
def set_attendee_name_parts(apps, schema_editor):
|
def set_attendee_name_parts(apps, schema_editor):
|
||||||
@@ -22,12 +25,40 @@ def set_attendee_name_parts(apps, schema_editor):
|
|||||||
ia.save(update_fields=['name_parts'])
|
ia.save(update_fields=['name_parts'])
|
||||||
|
|
||||||
|
|
||||||
|
def check_mysqlversion(apps, schema_editor):
|
||||||
|
errors = []
|
||||||
|
any_conn_works = False
|
||||||
|
conns = list(mysql_connections())
|
||||||
|
found = 'Unknown version'
|
||||||
|
for alias, conn in conns:
|
||||||
|
if connection_is_mariadb(conn) and hasattr(conn, 'mysql_version'):
|
||||||
|
if conn.mysql_version >= (10, 2, 7):
|
||||||
|
any_conn_works = True
|
||||||
|
else:
|
||||||
|
found = 'MariaDB ' + '.'.join(str(v) for v in conn.mysql_version)
|
||||||
|
elif hasattr(conn, 'mysql_version'):
|
||||||
|
if conn.mysql_version >= (5, 7):
|
||||||
|
any_conn_works = True
|
||||||
|
else:
|
||||||
|
found = 'MySQL ' + '.'.join(str(v) for v in conn.mysql_version)
|
||||||
|
|
||||||
|
if conns and not any_conn_works:
|
||||||
|
raise ImproperlyConfigured(
|
||||||
|
'As of pretix 2.2, you need MySQL 5.7+ or MariaDB 10.2.7+ to run pretix. However, we detected a '
|
||||||
|
'database connection to {}'.format(found)
|
||||||
|
)
|
||||||
|
return errors
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('pretixbase', '0101_auto_20181025_2255'),
|
('pretixbase', '0101_auto_20181025_2255'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.RunPython(
|
||||||
|
check_mysqlversion, migrations.RunPython.noop
|
||||||
|
),
|
||||||
migrations.RenameField(
|
migrations.RenameField(
|
||||||
model_name='cartposition',
|
model_name='cartposition',
|
||||||
old_name='attendee_name',
|
old_name='attendee_name',
|
||||||
|
|||||||
Reference in New Issue
Block a user