Ich benutze Postgres mit meiner Django App und ich hatte die hstore Erweiterung in der Datenbank manuell erstellt. Wenn ich Tests ausfühle, versucht es jedoch, eine neue Datenbank zu erstellen, und schlägt fehl, wenn die Hstore-Erweiterung nicht gefunden wird.Django Test fehlgeschlagen bei postgres hstore Migration
Ich erhalte die folgenden Fehler:
django.db.utils.ProgrammingError: hstore type not found in the database. please install it from your 'contrib/hstore.sql' file
Ich habe meine Migrationen aktualisieren nach dieser post und es ist wie folgt:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
from django.contrib.postgres.operations import HStoreExtension
import django.contrib.postgres.fields
import django.contrib.postgres.fields.hstore
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
HStoreExtension(),
migrations.CreateModel(
name='AppUser',
fields=[
('id', models.AutoField(serialize=False, verbose_name='ID', primary_key=True, auto_created=True)),
('created_date', models.DateTimeField(auto_now_add=True)),
('modified_date', models.DateTimeField(auto_now=True)),
('lock', models.BooleanField(default=False)),
('username', models.CharField(max_length=100)),
('email', models.EmailField(max_length=150)),
('social_data', django.contrib.postgres.fields.hstore.HStoreField(blank=True, default='')),
('phone_number', models.CharField(max_length=15)),
('photo', models.URLField(blank=True)),
('gender', models.TextField(max_length=6)),
('badges', django.contrib.postgres.fields.ArrayField(size=None, base_field=models.CharField(max_length=30))),
],
options={
'abstract': False,
},
),
]
Das liegt daran, dass Migrationen nicht ausgeführt werden, wenn Tests ausgeführt werden – yedpodtrzitko
Wie erzwinge ich dann die Test-DB, um eine Hstore-Erweiterung zu erstellen? –
http://stackoverflow.com/questions/11584749/how-to-create-a-new-database-with-the-hstore-extension-already-installed – yedpodtrzitko