I wanted to update the site domain/name using data migrations in Django 1.7:
$ python manage.py makemigrations main
Migrations for 'main':
0001_currencies_locations_posts_userprofile.py:
- Create model Currencies
- Create model Locations
- Create model Posts
- Create model UserProfile
$
$ python manage.py syncdb
Operations to perform:
Synchronize unmigrated apps: allauth, account, socialaccount
Apply all migrations: sessions, admin, auth, sites, contenttypes, main
Synchronizing apps without migrations:
Creating tables...
Creating table account_emailaddress
Creating table account_emailconfirmation
Creating table socialaccount_socialapp_sites
Creating table socialaccount_socialapp
Creating table socialaccount_socialaccount
Creating table socialaccount_socialtoken
Installing custom SQL...
Installing indexes...
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying main.update_site...Traceback (most recent call last):
File
"/Users/ajangity/Dev/lib/python3.4/site-packages/django/contrib/sites/models.py",
line 52, in get_current
current_site = SITE_CACHE[sid]
KeyError: 1
...
sqlite3.OperationalError: no such table: django_site
I have a main/migration/update_site.py:
def update_site(apps, schema_editor):
current_site = Site.objects.get_current()
current_site.domain = "example.com"
current_site.name = "Example"
current_site.save()
class Migration(migrations.Migration):
operations = [
migrations.RunPython(update_site),
]
Doing a syncdb throws this error. It's probably because the "Site" hasn't been
created by the time I am trying to update it.
So, the question is, how do I programmatically update the Site info?
Thanks
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/EC345DAE-1F0E-40A8-B8DE-4F0109636F88%40me.com.
For more options, visit https://groups.google.com/d/optout.