2015-10-15 15 views
5

Dopo lunga lunga ricerca su Postgre, circa killorphant manage.py, circa django_site, niente era in grado di aiutarmi con questo errore:Deve essere proprietario di relazione django_site quando manage.py migrano

Synchronizing apps without migrations: 
    Creating tables... 
    Installing custom SQL... 
    Installing indexes... 
Running migrations: 
    Applying sites.0002_auto_20150929_1444...Traceback (most recent call last): 
    **File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/utils.py", line 65, in execute 
    return self.cursor.execute(sql, params) 
psycopg2.ProgrammingError: must be owner of relation django_site** 

È possibile che questo fa eccezione è stata la causa diretta della seguente eccezione:

Traceback (most recent call last): 
    File "./manage.py", line 11, in <module> 
    execute_from_command_line(sys.argv) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/var/www/webapps/lib/python3.4/site-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 161, in handle 
    executor.migrate(targets, plan, fake=options.get("fake", False)) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/migrations/executor.py", line 68, in migrate 
    self.apply_migration(migration, fake=fake) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/migrations/executor.py", line 102, in apply_migration 
    migration.apply(project_state, schema_editor) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/migrations/migration.py", line 108, in apply 
    operation.database_forwards(self.app_label, schema_editor, project_state, new_state) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/migrations/operations/fields.py", line 139, in database_forwards 
    schema_editor.alter_field(from_model, from_field, to_field) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/schema.py", line 470, in alter_field 
    self._alter_field(model, old_field, new_field, old_type, new_type, old_db_params, new_db_params, strict) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/schema.py", line 642, in _alter_field 
    self.execute(self._create_unique_sql(model, [new_field.column])) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/schema.py", line 111, in execute 
    cursor.execute(sql, params) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/utils.py", line 81, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/utils.py", line 65, in execute 
    return self.cursor.execute(sql, params) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/utils.py", line 94, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/utils/six.py", line 658, in reraise 
    raise value.with_traceback(tb) 
    File "/var/www/webapps/lib/python3.4/site-packages/django/db/backends/utils.py", line 65, in execute 
    **return self.cursor.execute(sql, params) 
django.db.utils.ProgrammingError: must be owner of relation django_site** 

Così, dopo aver controllato e ri controllo, django-sito è nella lista di applicazioni installate, site_id = 1; il mio database funziona tranne alcuni problemi con le immagini. Bene, allora ho provato a fare alcune migrazioni ma questo errore continua a funzionare e ora sono alla disperata ricerca del problema.

Qualcuno ne ha idea?

risposta

12

L'utente del database che si utilizza per django per connettersi al database non è il proprietario della tabella. Devi cambiarlo nella shell di Postgres o forse pgadmin3 può aiutarti.

Qualcosa di simile:

ALTER DATABASE your_db OWNER TO your_django_db_user 
ALTER TABLE django_site OWNER TO your_django_db_user 
+0

Io sono su un lato server, in modo da non avere pgAdmin. Proverò quello che scrivi qui. –

Problemi correlati