From 24c4fb216e3acd145bcfc2c36db1a8539e96f5db Mon Sep 17 00:00:00 2001 From: Trullemans Gregory Date: Sat, 20 Nov 2021 16:38:26 +0100 Subject: [PATCH] With migration and remove mysqlclient --- followup/migrations/0001_initial.py | 96 +++++++++++++++++++++++++++++ followup/migrations/__init__.py | 0 location/migrations/0001_initial.py | 62 +++++++++++++++++++ location/migrations/__init__.py | 0 people/migrations/0001_initial.py | 35 +++++++++++ people/migrations/__init__.py | 0 planning/migrations/0001_initial.py | 70 +++++++++++++++++++++ planning/migrations/__init__.py | 0 profiles/migrations/0001_initial.py | 27 ++++++++ profiles/migrations/__init__.py | 0 requirements.txt | 1 - 11 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 followup/migrations/0001_initial.py create mode 100644 followup/migrations/__init__.py create mode 100644 location/migrations/0001_initial.py create mode 100644 location/migrations/__init__.py create mode 100644 people/migrations/0001_initial.py create mode 100644 people/migrations/__init__.py create mode 100644 planning/migrations/0001_initial.py create mode 100644 planning/migrations/__init__.py create mode 100644 profiles/migrations/0001_initial.py create mode 100644 profiles/migrations/__init__.py diff --git a/followup/migrations/0001_initial.py b/followup/migrations/0001_initial.py new file mode 100644 index 0000000000..8d0cd3a2e6 --- /dev/null +++ b/followup/migrations/0001_initial.py @@ -0,0 +1,96 @@ +# Generated by Django 3.2.8 on 2021-11-18 20:54 + +import datetime +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('people', '__first__'), + ('planning', '__first__'), + ] + + operations = [ + migrations.CreateModel( + name='Skill', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('short_label', models.CharField(max_length=50, verbose_name='Short label')), + ('long_label', models.CharField(max_length=255, verbose_name='Long label')), + ('difficulty', models.DecimalField(decimal_places=1, max_digits=3, verbose_name='Difficulty')), + ('level', models.PositiveSmallIntegerField(default=0)), + ('rank', models.PositiveSmallIntegerField(default=0)), + ('numeric_notation', models.CharField(max_length=25)), + ('ancestor', models.ManyToManyField(related_name='_followup_skill_ancestor_+', to='followup.Skill')), + ], + options={ + 'verbose_name': 'Skill', + 'verbose_name_plural': 'Skills', + 'ordering': ['short_label'], + }, + ), + migrations.CreateModel( + name='Point', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('routine_type', models.PositiveSmallIntegerField(choices=[(0, 'Routine 1'), (1, 'Routine 2'), (2, 'Final')])), + ('point_execution', models.DecimalField(decimal_places=3, max_digits=5)), + ('point_difficulty', models.DecimalField(decimal_places=1, max_digits=3)), + ('point_time_of_flight', models.DecimalField(decimal_places=3, max_digits=5)), + ('point_horizontal_displacement', models.DecimalField(decimal_places=3, max_digits=4)), + ('penality', models.DecimalField(decimal_places=1, max_digits=3)), + ('total', models.DecimalField(decimal_places=3, max_digits=6)), + ('event', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='planning.event')), + ('gymnast', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='people.gymnast')), + ], + ), + migrations.CreateModel( + name='Chrono', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('type', models.PositiveSmallIntegerField(choices=[(0, '10 |'), (1, 'Routine')], verbose_name='Chrono type')), + ('score_type', models.PositiveSmallIntegerField(choices=[(0, 'Chrono'), (1, 'ToF')], verbose_name='Score type')), + ('score', models.DecimalField(decimal_places=3, max_digits=5)), + ('tof', models.DecimalField(blank=True, decimal_places=3, max_digits=5, null=True)), + ('date', models.DateField(default=datetime.date.today, verbose_name='Date')), + ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='chronos', to='people.gymnast', verbose_name='gymnast')), + ], + options={ + 'verbose_name': 'Chrono', + 'verbose_name_plural': 'Chronos', + 'ordering': ['date', 'gymnast'], + }, + ), + migrations.CreateModel( + name='Accident', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), + ('date', models.DateField(verbose_name='Date')), + ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='accident', to='people.gymnast', verbose_name='Gymnast')), + ], + options={ + 'verbose_name': 'Accident', + 'verbose_name_plural': 'Accidents', + }, + ), + migrations.CreateModel( + name='LearnedSkill', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('cando', models.PositiveSmallIntegerField(choices=[(0, 'No'), (1, 'With help'), (2, 'Without help'), (3, 'Chained')], verbose_name='Can do type')), + ('date', models.DateField(default=datetime.date.today, verbose_name='Date')), + ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='can_do_skill', to='people.gymnast', verbose_name='gymnast')), + ('skill', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='done_by_gymnasts', to='followup.skill', verbose_name='Skill')), + ], + options={ + 'verbose_name': 'Learned Skill', + 'verbose_name_plural': 'Learned Skills', + 'unique_together': {('gymnast', 'skill', 'date')}, + }, + ), + ] diff --git a/followup/migrations/__init__.py b/followup/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/location/migrations/0001_initial.py b/location/migrations/0001_initial.py new file mode 100644 index 0000000000..2a441d360b --- /dev/null +++ b/location/migrations/0001_initial.py @@ -0,0 +1,62 @@ +# Generated by Django 3.2.8 on 2021-11-18 20:54 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Country', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='English name')), + ('nationality', models.CharField(max_length=255, verbose_name='Nationality')), + ('iso2', models.CharField(max_length=2)), + ('iso3', models.CharField(max_length=3)), + ('isonum', models.PositiveSmallIntegerField()), + ], + options={ + 'verbose_name': 'Country', + 'verbose_name_plural': 'Countries', + }, + ), + migrations.CreateModel( + name='Place', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('address', models.CharField(max_length=255, verbose_name='Address')), + ('postal', models.PositiveIntegerField(verbose_name='Postal code')), + ('city', models.CharField(max_length=255, verbose_name='City')), + ('nbkm', models.PositiveIntegerField(blank=True, help_text='in km', null=True)), + ('timing', models.PositiveIntegerField(blank=True, help_text='in minutes', null=True)), + ('active', models.BooleanField(default=1, verbose_name='Active')), + ('country', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.country', verbose_name='Country')), + ], + options={ + 'verbose_name': 'Place', + 'verbose_name_plural': 'Places', + }, + ), + migrations.CreateModel( + name='Club', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('acronym', models.CharField(max_length=4, verbose_name='Acronym')), + ('active', models.BooleanField(default=1, verbose_name='Active')), + ('place', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.place', verbose_name='Place')), + ], + options={ + 'verbose_name': 'Club', + 'verbose_name_plural': 'Clubs', + }, + ), + ] diff --git a/location/migrations/__init__.py b/location/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/people/migrations/0001_initial.py b/people/migrations/0001_initial.py new file mode 100644 index 0000000000..bfe912b155 --- /dev/null +++ b/people/migrations/0001_initial.py @@ -0,0 +1,35 @@ +# Generated by Django 3.2.8 on 2021-11-18 20:54 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('location', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Gymnast', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), + ('last_name', models.CharField(max_length=40)), + ('first_name', models.CharField(max_length=25)), + ('birthdate', models.DateField(verbose_name='Date de naissance')), + ('gender', models.PositiveSmallIntegerField(choices=[(0, 'Male'), (1, 'Female')], verbose_name='Sexe')), + ('is_active', models.BooleanField(default=1, verbose_name='Active')), + ('trainings_by_week', models.PositiveSmallIntegerField(verbose_name='# Training by week')), + ('hours_by_week', models.PositiveSmallIntegerField(verbose_name='# Hours by week')), + ('club', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gymnast', to='location.club')), + ], + options={ + 'verbose_name': 'Gymnast', + 'verbose_name_plural': 'Gymnasts', + }, + ), + ] diff --git a/people/migrations/__init__.py b/people/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/planning/migrations/0001_initial.py b/planning/migrations/0001_initial.py new file mode 100644 index 0000000000..f2916fb641 --- /dev/null +++ b/planning/migrations/0001_initial.py @@ -0,0 +1,70 @@ +# Generated by Django 3.2.8 on 2021-11-18 20:54 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('location', '0001_initial'), + ('people', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Event', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), + ('datebegin', models.DateTimeField(verbose_name='Début')), + ('dateend', models.DateTimeField(blank=True, verbose_name='Fin')), + ('name', models.CharField(max_length=255, verbose_name='Nom')), + ], + options={ + 'verbose_name': 'Event', + 'verbose_name_plural': 'Event', + }, + ), + migrations.CreateModel( + name='EventType', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Nom')), + ('acronym', models.CharField(max_length=15, verbose_name='Acronyme')), + ], + options={ + 'verbose_name': 'Event Type', + 'verbose_name_plural': 'Event Types', + }, + ), + migrations.CreateModel( + name='Event_Participation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('rank', models.PositiveSmallIntegerField(default=0)), + ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='planning.event')), + ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='people.gymnast')), + ], + options={ + 'verbose_name': 'Event Participation', + }, + ), + migrations.AddField( + model_name='event', + name='eventtype', + field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='planning.eventtype', verbose_name='Type'), + ), + migrations.AddField( + model_name='event', + name='gymnasts', + field=models.ManyToManyField(related_name='participate_to', through='planning.Event_Participation', to='people.Gymnast', verbose_name='Participants'), + ), + migrations.AddField( + model_name='event', + name='place', + field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.place'), + ), + ] diff --git a/planning/migrations/__init__.py b/planning/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/profiles/migrations/0001_initial.py b/profiles/migrations/0001_initial.py new file mode 100644 index 0000000000..6d5eb27136 --- /dev/null +++ b/profiles/migrations/0001_initial.py @@ -0,0 +1,27 @@ +# Generated by Django 3.2.8 on 2021-11-18 20:54 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Profile', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('template_color', models.PositiveSmallIntegerField(choices=[(0, 'Dark'), (1, 'Light')], default=0, verbose_name='Template')), + ('sidebar_color', models.PositiveSmallIntegerField(choices=[(0, 'Purple'), (1, 'Blue'), (2, 'Green'), (3, 'Orange'), (4, 'Red')], default=0, verbose_name='Sidebar')), + ('is_sidebar_minified', models.BooleanField(default=False)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/profiles/migrations/__init__.py b/profiles/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/requirements.txt b/requirements.txt index da7e6c527b..30a29824d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,6 @@ django-environ==0.8.1 django-extensions==3.1.3 install==1.3.4 Markdown==3.3.4 -mysqlclient==2.0.3 pendulum==2.1.2 psycopg2==2.9.2 python-dateutil==2.8.2