[pyar] Migraciones en Django 1.7c1
Manuel Kaufmann
humitos en gmail.com
Lun Jun 30 12:45:07 ART 2014
Hola PyAreros!
No tuvimos mejor idea que empezar un nuevo proyecto con Django 1.7. Ya
solucioné varios problemas de apps de terceros, que no fue nada fácil,
y venía bastante contento con haber podidos resolver esos temas.
Dos características fuertes de Django 1.7 es que:
1. te deja usar un modelo User personalizado: ya no es necesario
hacer un UserProfile
2. vienen incluídas las migraciones
En el proyecto en el que estoy estamos haciendo uso de 1) y queremos
hacer uso de 2), pero ahí viene el problema que estoy teniendo.
Cuando empecé a programar en Django 1.7, como no entendía muy bien
cómo funcionaban las migraciones, leí la doc, tiré algunos comandos y
me complicó la vida. Así que, como en ese momento estaba solo
desarrollando y necesitaba ver algunos resultados (no había team ni
servidor de staging) dejá las migraciones de lado por un tiempo.
Hoy hicimos un deploy a staging y obviamente, tengo que poner en
marcha las migraciones. Aquí el problema:
1. Todas mis apps tienen la carpeta "migrations/" con su
"__init__.py" vacío dentro
2. Borro la base de datos, para que quede sin tablas ni nada...
3. Corro "manage.py makemigrations" y me genera varios archivos (a
veces más de uno por app) con las migraciones y sus dependencias entre
las apps
4. Corro "manage.py migrate" y recibo un error de "Dependencias circulares"
Traceback (most recent call last):
File "/home/humitos/Source/chap/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 385, in execute_from_command_line
utility.execute()
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/core/management/base.py",
line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/core/management/base.py",
line 337, in execute
output = self.handle(*args, **options)
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py",
line 106, in handle
plan = executor.migration_plan(targets)
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/executor.py",
line 48, in migration_plan
for migration in self.loader.graph.forwards_plan(target):
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 55, in forwards_plan
return self.dfs(node, lambda x: self.dependencies.get(x, set()))
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 121, in dfs
return _dfs(start, get_children, [])
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 113, in _dfs
results = _dfs(n, get_children, path) + results
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 113, in _dfs
results = _dfs(n, get_children, path) + results
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 113, in _dfs
results = _dfs(n, get_children, path) + results
File "/home/humitos/.virtualenvs/chap/local/lib/python2.7/site-packages/django/db/migrations/graph.py",
line 105, in _dfs
raise CircularDependencyError(path[path.index(start):] + [start])
django.db.migrations.graph.CircularDependencyError: [('challenge',
u'0001_initial'), (u'team', u'0001_initial'), ('challenge',
u'0001_initial')]
Estuve leyendo por acá [1] pero no encuentro la info que necesito ni
entiendo porqué recibo ese error. De hecho, lo que dice la doc para mi
tiene muchísimo sentido, pero lo que me sucede... No...
¿Alguna idea? ¿Puede ser que esto todavía esté verde?
Gracias,
[1] https://docs.djangoproject.com/en/dev/topics/migrations/#dependencies
--
Kaufmann Manuel
-- http://elblogdehumitos.com.ar
More information about the pyar
mailing list