DB_PORT=5432
DB_HOST=db
POSTGRES_HOST=db
-POSTGRES_PASSWORD=mysecretpassword
+POSTGRES_PASSWORD=EtOdlerlOt8ob
POSTGRES_DATABASE=teleforma
POSTGRES_DB=teleforma
POSTGRES_USER=teleforma
command: /bin/sh /srv/app/wsgi.sh
restart: unless-stopped
env_file:
- - env/prod.env
+ - env/recovery.env
volumes:
- /mnt/crfpa-videos:/mnt/crfpa-videos
- /mnt/crfpa-scripts:/mnt/crfpa-scripts
ports:
- "9006:8000"
env_file:
- - env/prod.env
+ - env/recovery.env
networks:
- teleforma-recovery
links:
db:
env_file:
- - env/prod.env
+ - env/recovery.env
+ networks:
+ - teleforma-recovery
+
+ db-recovery:
+ image: postgres:13
+ env_file:
+ - env/recovery.env
+ environment:
+ PGDATA: /var/lib/postgresql/data/pgdata
+ volumes:
+ - ./var/lib/postgresql-recovery:/var/lib/postgresql/data:rw
+ - ./bin:/srv/bin
+ - ./var/backup/:/srv/backup
+ - /etc/localtime:/etc/localtime:ro
networks:
- teleforma-recovery
app:
channels:
db:
+ db-recovery:
redis:
period_name = 'Annuelle'
db_from = 'recovery'
db_to = 'default'
- logger = Logger('/var/log/app/sudent_import_recovery.log')
+ logger = Logger('/var/log/app/student_import_recovery.log')
def handle(self, *args, **options):
period = Period.objects.get(name=self.period_name)
optional_fees = deepcopy(student.optional_fees.all())
paybacks = deepcopy(student.paybacks.all())
trainings = student.trainings.all()
+ profile = deepcopy(Profile.objects.using(self.db_from).get(user=student.user))
user.pk = None
user.username = get_unique_username(user.first_name, user.last_name)
student.save(using=self.db_to)
student.user = user
student.save(using=self.db_to)
+ profile.pk = None
+ profile.user = None
+ profile.save(using=self.db_to)
+ profile.user = user
+ profile.save(using=self.db_to)
for training in trainings:
training_to = Training.objects.using(self.db_to).get(name=training.name, period=period)
--- /dev/null
+# Generated by Django 3.2.3 on 2021-11-22 11:55
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('teleforma', '0013_auto_20211122_0057'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='profile',
+ name='user',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL, unique=True, verbose_name='user'),
+ ),
+ ]
"User profile extension"
user = models.ForeignKey(User, related_name='profile',
- verbose_name=_('user'), unique=True, on_delete=models.CASCADE)
+ verbose_name=_('user'), unique=True, on_delete=models.CASCADE, null=True)
address = models.CharField(_('Address'), max_length=255, blank=True)
address_detail = models.CharField(
_('Address detail'), max_length=255, blank=True, null=True)