From ce85e8b6dc16c197385d8e7995fac8f71f126bac Mon Sep 17 00:00:00 2001 From: Alberto Sanchez Date: Wed, 3 Sep 2014 15:07:36 -0430 Subject: [PATCH] fix sites migrations --- .../config/common.py | 7 ++++ .../contrib/__init__.py | 0 .../contrib/sites/__init__.py | 0 .../contrib/sites/migrations/0001_initial.py | 29 ++++++++++++++ .../0002_set_site_domain_and_name.py | 40 +++++++++++++++++++ .../contrib/sites/migrations/__init__.py | 0 .../0002_set_site_domain_and_name.py | 35 ---------------- 7 files changed, 76 insertions(+), 35 deletions(-) create mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/__init__.py create mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/__init__.py create mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0001_initial.py create mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0002_set_site_domain_and_name.py create mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/__init__.py delete mode 100644 {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/migrations/0002_set_site_domain_and_name.py diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/config/common.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/config/common.py index b7ce2469..a7d64cfb 100644 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/config/common.py +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/config/common.py @@ -65,6 +65,13 @@ class Common(Configuration): ) # END MIDDLEWARE CONFIGURATION + # MIGRATIONS CONFIGURATION + MIGRATION_MODULES = { + 'sites': 'contrib.sites.migrations' + } + # END MIGRATIONS CONFIGURATION + + # DEBUG # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = values.BooleanValue(False) diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/__init__.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/__init__.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0001_initial.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0001_initial.py new file mode 100644 index 00000000..87d55c75 --- /dev/null +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import django.contrib.sites.models + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Site', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('domain', models.CharField(max_length=100, verbose_name='domain name', validators=[django.contrib.sites.models._simple_domain_name_validator])), + ('name', models.CharField(max_length=50, verbose_name='display name')), + ], + options={ + 'ordering': ('domain',), + 'db_table': 'django_site', + 'verbose_name': 'site', + 'verbose_name_plural': 'sites', + }, + bases=(models.Model,), + ), + ] diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0002_set_site_domain_and_name.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0002_set_site_domain_and_name.py new file mode 100644 index 00000000..bf77f547 --- /dev/null +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/0002_set_site_domain_and_name.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.conf import settings +from django.db import models, migrations + + +def update_site_forward(apps, schema_editor): + """Set site domain and name.""" + Site = apps.get_model("sites", "Site") + Site.objects.update_or_create( + id=settings.SITE_ID, + defaults={ + "domain": "{{cookiecutter.domain_name}}", + "name": "{{cookiecutter.project_name}}" + } + ) + + +def update_site_backward(apps, schema_editor): + """Revert site domain and name to default.""" + Site = apps.get_model("sites", "Site") + Site.objects.update_or_create( + id=settings.SITE_ID, + defaults={ + "domain": "example.com", + "name": "example.com" + } + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ('sites', '0001_initial'), + ] + + operations = [ + migrations.RunPython(update_site_forward, update_site_backward), + ] diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/__init__.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/contrib/sites/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/migrations/0002_set_site_domain_and_name.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/migrations/0002_set_site_domain_and_name.py deleted file mode 100644 index f64d6957..00000000 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/migrations/0002_set_site_domain_and_name.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.conf import settings -from django.db import models, migrations -from django.apps import apps as django_apps - - -def update_site_forward(apps, schema_editor): - """Set site domain and name.""" - Site = django_apps.get_model("sites", "Site") - site = Site.objects.get(id=settings.SITE_ID) - site.domain = "{{cookiecutter.domain_name}}" - site.name = "{{cookiecutter.project_name}}" - site.save() - - -def update_site_backward(apps, schema_editor): - """Revert site domain and name to default.""" - Site = django_apps.get_model("sites", "Site") - site = Site.objects.get(id=settings.SITE_ID) - site.domain = 'example.com' - site.name = 'example.com' - site.save() - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_initial'), - ] - - operations = [ - migrations.RunPython(update_site_forward, update_site_backward), - ]