2012-08-09 10 views
7

Si è verificato un errore durante il tentativo di applicare una prima migrazione a sud. Ho provato vari suggerimenti (come rimuovere i file .pyc nella cartella migrazioni, convertire l'app e provare ad avviarla di nuovo, altri violini). Qualcuno qui può suggerire cosa potrei fare? GrazieErrore di migrazione di Django Sud

(env)~/code/django/ssc/dev/ssc/ssc> python manage.py migrate 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/south/management/commands/migrate.py", line 108, in handle 
    ignore_ghosts = ignore_ghosts, 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/__init__.py", line 166, in migrate_app 
    Migrations.calculate_dependencies() 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 228, in calculate_dependencies 
    migration.calculate_dependencies() 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 362, in calculate_dependencies 
    for migration in self._get_dependency_objects("depends_on"): 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 342, in _get_dependency_objects 
    for app, name in getattr(self.migration_class(), attrname, []): 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 314, in migration_class 
    return self.migration().Migration 
AttributeError: 'module' object has no attribute 'Migration' 
(env)~/code/django/ssc/dev/ssc/ssc> python manage.py convert_to_south crewcal 
This application is already managed by South. 
(env)~/code/django/ssc/dev/ssc/ssc> python manage.py migrateTraceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/south/management/commands/migrate.py", line 108, in handle 
    ignore_ghosts = ignore_ghosts, 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/__init__.py", line 166, in migrate_app 
    Migrations.calculate_dependencies() 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 228, in calculate_dependencies 
    migration.calculate_dependencies() 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 362, in calculate_dependencies 
    for migration in self._get_dependency_objects("depends_on"): 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 342, in _get_dependency_objects 
    for app, name in getattr(self.migration_class(), attrname, []): 
    File "/usr/local/lib/python2.7/dist-packages/south/migration/base.py", line 314, in migration_class 
    return self.migration().Migration 
AttributeError: 'module' object has no attribute 'Migration' 
+0

Avete effettivamente creato la migrazione? 'python manage.py schemamigration --initial' –

+0

sì. 0001_initial.py esiste. – KindOfGuy

+0

Hai visto questo: http://south.aeracode.org/ticket/819 –

risposta

3

Forse un po 'tardi, ma ancora ... E' possibile che ci sia qualsiasi altro pacchetto (cartella con __init__.py) nel pacchetto di migrazione e interferisce con la struttura?

+0

Ho fatto 'scp hostname:/remote/path/to/app/migrations/local/path/to/app/migrations /'. Poi l'ho fatto di nuovo dopo aver aggiunto alcune migrazioni, eccetto che questa volta, poiché esisteva la cartella 'migrations',' scp' mise la seconda copia dentro. –

17

Nel mio caso l'oggetto AttributeError: l'oggetto 'module' non ha attributo 'Migration' L'errore era semplicemente una questione di avere un file .py extra nella mia cartella migrazioni.

Nella mia directory delle migrazioni avevo un modulo di utilità aggiuntivo che ha causato il soffocamento di South. Lo spostamento del modulo in una directory diversa (sopra la directory delle migrazioni dell'app) ha risolto il problema per me.

+0

randlet, sì hai ragione, c'era un file .py extra nella cartella migrazioni, li ho cancellati e ora funziona correttamente. – Shariq

+0

Nel mio caso ho avuto un file __init__.py nella mia cartella migrazioni che ho appena cancellato – TimRich

Problemi correlati