Primero, creo mi base de datos.
create database mydb;
Agrego "sur" a las aplicaciones instaladas. Luego, voy a este tutorial: http://south.aeracode.org/docs/tutorial/part1.html
El tutorial me dice que haga esto:
$ py manage.py schemamigration wall --initial
>>> Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate wall
Genial, ahora migro.
$ py manage.py migrate wall
Pero me da este error ...
django.db.utils.DatabaseError: (1146, "Table 'fable.south_migrationhistory' doesn't exist")
Entonces uso Google (que nunca funciona. De ahí mis 870 preguntas en Stackoverflow), y obtengo esta página: http://groups.google.com/group/south-users/browse_thread/thread/d4c83f821dd2ca1c
Muy bien, sigo esas instrucciones
>> Drop database mydb;
>> Create database mydb;
$ rm -rf ./wall/migrations
$ py manage.py syncdb
Pero cuando ejecuto syncdb, Django crea un montón de tablas. Sí, crea la tabla south_migrationhistory, pero también crea las tablas de mi aplicación.
Synced:
> django.contrib.admin
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> south
> fable.notification
> pagination
> timezones
> fable.wall
> mediasync
> staticfiles
> debug_toolbar
Not synced (use migrations):
-
(use ./manage.py migrate to migrate these)
Genial ... ahora me dice que migre estos. Entonces, hago esto:
$ py manage.py migrate wall
The app 'wall' does not appear to use migrations.
Muy bien, muy bien. Agregaré muro a las migraciones iniciales.
$ py manage.py schemamigration wall --initial
Luego migro:
$ py manage.py migrate wall
¿Sabes que? Me da esta BS:
_mysql_exceptions.OperationalError: (1050, "Table 'wall_content' already exists")
Lo siento, esto realmente me está cabreando. ¿Alguien puede ayudar? Gracias.
¿Cómo hago para que South funcione y sincronice correctamente con todo? Lo único que se me ocurre es eliminar mi aplicación de INSTALLED_APPS, luego ejecutar syncdb y volver a agregarla.
Eso es TAN TONTO.