Sunday, July 26, 2015

Re: "RuntimeError: Error creating new content types."

Good tip. First upgrading to Django 1.7 then running the migrations then upgrading to 1.8 also fixed this for me :)

On Sunday, July 26, 2015 at 9:50:19 AM UTC-7, Tobias McNulty wrote:
I just ran into this issue as well when updating an old project to Django 1.8. The only suitable workaround I found was to update first to Django 1.7 and fake the initial migrations for my apps (presumably Django's as well, though it seems to handle that automatically). Only then can you safely update to Django 1.8. Otherwise, there is no way to fake only the initial migrations for the auth and contenttypes apps if you've already upgraded to Django 1.8 (perhaps there should be?).

Tobias

On Saturday, July 18, 2015 at 12:42:57 PM UTC-4, Chris DiLorenzo wrote:
While poking around with this again, I noticed that the thing causing the error for me was a datamigration (being applied due to it being run in tests) which is (I believe) why I was seeing the issue when trying to run tests but not otherwise. I was trying to grab a contenttype using ContentType.objects.get_for_model(MODEL). So my current belief is that no ContentType was created for that MODEL before that datamigration was run, thus causing it to fail the creation causing the error. Hope that helps.

On Wednesday, July 15, 2015 at 10:43:54 PM UTC+2, Tomas Henriquez wrote:
I just fixed this issue by entering into my database directly, showed all rows on "django_migrations", I saw that I did migrated before the contenttypes (probably when I did a regression to django 1.4 for some tests). By deleting the rows with contenttypes on it, deleting the contenttypes table and running the migration again I was able to fix the issue.

On Wednesday, July 15, 2015 at 3:30:27 PM UTC-4:30, Chris DiLorenzo wrote:
Hey Devang,

No, we did not fake any migrations =(

On Tuesday, June 23, 2015 at 12:58:46 AM UTC+2, Devang Mundhra wrote:
Chris-
By any chance, did you fake any of the migrations. That was the problem I had faced- it wasn't a Django problem, it was a problem with my migration.

On Mon, Jun 22, 2015 at 3:52 PM Chris DiLorenzo <dilorenzo....@gmail.com> wrote:
I'm seeing this issue as well. Not sure if it helps but I get it when running my tests.

I chose to raise the error instead and saw this:

django.db.utils.IntegrityError: null value in column "name" violates not-null
constraint
DETAIL
:  Failing row contains (1, null, app, listing).


Where app is the django app name and listing is the model name. So that sounds to me like I'm seeing what everyone else is, the migration is just not applied on the database for some reason, but shows as being applied OK.

// Chris


On Wednesday, June 10, 2015 at 11:31:42 AM UTC-4, Devang Mundhra wrote:
In my case this is not a Django bug.
The problem was that since 1.8 contenttypes started to have migrations. But since the table already existed earlier, the migrations needed to be faked.
When faking the migrations, I used python manage.py migrate contenttypes --fake which faked both 0001 and 0002.

The fix was to remove the fake migration for 0002 from django_migrations table and then do the actual migration.

On Wed, Jun 10, 2015 at 6:57 AM Tim Graham <timog...@gmail.com> wrote:
If anyone running into this problem can figure out why the contrib.contenttypes migration (0002_remove_content_type_name) is being marked as applied but not actually run in the database, that will help determine if this is a bug in Django or a problem elsewhere.


On Wednesday, June 10, 2015 at 7:11:48 AM UTC-4, Devang Mundhra wrote:
I am getting the same error on Django v1.8.2 after migrating from v1.7.7
The underlying error is this-

django.db.utils.IntegrityError: null value in column "name" violates not-null constraint
DETAIL
:  Failing row contains (39, null, app_name, model_name).


On Friday, April 17, 2015 at 1:25:06 PM UTC-7, Tim Graham wrote:
The contenttypes name column was removed in Django 1.8. Could you retrieve the underlying exception before the RuntimeError is raised?

On Friday, April 17, 2015 at 2:55:07 PM UTC-4, Christophe Pettus wrote:
Digging into this a bit more, the specific exception is that it is trying to insert a contenttypes row with a null 'name' value.

The code in question is doing a get_or_create() on the contenttype object.  I assume it should be picking up the name from the name @property on the ContentType model, but I don't see that ever actually being called.


On Apr 17, 2015, at 11:24 AM, Christophe Pettus <x...@thebuild.com> wrote:

> On Django 1.8, I'm encountering this error when attempting to apply migrations on the production system.  What's interesting is that it works fine on the dev system, and inspecting the django_migrations table, I don't see any (meaningful) differences between them (error text below).
>
> There was a model added to the "catalog" application which is not being created in django_content_type.
>
> Manually migrating contenttypes individually generates the same error.
>
> --
>
> $ python manage.py migrate
> Operations to perform:
>  Synchronize unmigrated apps: staticfiles, util, treebeard, messages, office
>  Apply all migrations: info, customers, sessions, admin, contenttypes, auth, sites, catalog, coming_soon, orders
> Synchronizing apps without migrations:
>  Creating tables...
>    Running deferred SQL...
>  Installing custom SQL...
> Running migrations:
>  Rendering model states... DONE
>  Applying auth.0006_require_contenttypes_0002... OK
> Traceback (most recent call last):
>  File "manage.py", line 10, in <module>
>    execute_from_command_line(sys.argv)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
>    utility.execute()
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
>    self.fetch_command(subcommand).run_from_argv(self.argv)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
>    self.execute(*args, **cmd_options)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
>    output = self.handle(*args, **options)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 225, in handle
>    emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/core/management/sql.py", line 280, in emit_post_migrate_signal
>    using=db)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 201, in send
>    response = receiver(signal=self, sender=sender, **named)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 82, in create_permissions
>    ctype = ContentType.objects.db_manager(using).get_for_model(klass)
>  File "/home/tbc/environments/fugu/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.py", line 78, in get_for_model
>    "Error creating new content types. Please make sure contenttypes "
> RuntimeError: Error creating new content types. Please make sure contenttypes is migrated before trying to migrate apps individually.
> --
> -- Christophe Pettus
>   x...@thebuild.com
>
> --
> You received this message because you are subscribed to the Google Groups "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
> To post to this group, send email to django...@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/84FEBC7D-9A57-47FA-9429-A834A2F03021%40thebuild.com.
> For more options, visit https://groups.google.com/d/optout.

--
-- Christophe Pettus
   x...@thebuild.com

--
You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/DlRQOdsJL6o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users...@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.

--
You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/DlRQOdsJL6o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/6186cdbc-9c8c-4a7d-8d94-0b4eb05b9421%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 

Tobias McNulty
Chief Executive Officer

tob...@caktusgroup.com

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/adaaa555-5b96-4834-8511-7cea68b76ad3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment