Melvyn,

First, I'm sorry if this come off a bit snarky, it's been a long day...  
I want to say Thank you for your assistance, and I appreciate the help, 
even though I took potentially the easy way out...

But squashing the migrations, made me realize that the root cause, may have 
been an earlier squashed migration that wasn't cleaned up properly.

Was it?  I'm not sure, but after squashing and cleaning, it did clear up.

> Okay, squashing seems to have resolved this issue... 
>
> Did you find any issues with the documentation on squashing? 
>

Sadly, yes.  

1) Finding it
       For example:

                    There are several commands which you will use to 
interact with migrations and Django’s handling of database schema:

   - migrate 
         
<https://docs.djangoproject.com/en/2.0/ref/django-admin/#django-admin-migrate>, 
         which is responsible for applying and unapplying migrations.
         - makemigrations 
         
<https://docs.djangoproject.com/en/2.0/ref/django-admin/#django-admin-makemigrations>,
 
         which is responsible for creating new migrations based on the changes 
you 
         have made to your models.
         - sqlmigrate 
         
<https://docs.djangoproject.com/en/2.0/ref/django-admin/#django-admin-sqlmigrate>,
 
         which displays the SQL statements for a migration.
         - showmigrations 
         
<https://docs.djangoproject.com/en/2.0/ref/django-admin/#django-admin-showmigrations>,
 
         which lists a project’s migrations and their status.
      
               Squashing isn't even listed in the Beginning discussion? 
 It's a command, isn't it?
               I had to search the web page to find it.  

        Overall, 

> Seems a bit voodoo-ish, but it worked.  Any suggestions for preventing 
> this 
> > in the future would be nice! 
>
> It's voodoo-ish cause you stopped analyzing the problem and went for the 
> work- 
> around. 
>

Sure, I'll accept that.  I disagree that staring at two different 0018 
files, which don't give me much to work from.  But the work around actually 
made me realize what happened to cause this in the first place...  Feel 
free to take a look at the migrations....

# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-11-08 01:49
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('quickbbs', '0017_auto_20171107_1415'),
    ]

    operations = [
        migrations.CreateModel(
            name='IndexData',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('LastScan', models.FloatField(db_index=True)),
                ('LastMod', models.FloatField(db_index=True)),
                ('Name', models.CharField(db_index=True, default=None, 
max_length=512)),
                ('SortName', models.CharField(db_index=True, default='', 
editable=False, max_length=512)),
                ('Size', models.IntegerField(default=0)),
                ('FQPNDirectory', models.CharField(db_index=True, 
default=0, max_length=512)),
                ('ParentDirID', models.IntegerField(default=0)),
                ('is_dir', models.BooleanField(db_index=True, 
default=False)),
                ('is_pdf', models.BooleanField(db_index=True, 
default=False)),
                ('is_archive', models.BooleanField(db_index=True, 
default=False)),
                ('Ignore', models.BooleanField(default=False)),
                ('DeletePending', models.BooleanField(default=False)),
            ],
        ),
        migrations.DeleteModel(
            name='DirData',
        ),
        migrations.DeleteModel(
            name='FileData',
        ),

    ]

vs 

#-*- coding: utf-8 -*-
#Generated by Django 1.11.9 on 2018-03-15 21:47
from __future__ import unicode_literals

from django.db import migrations


class Migration(migrations.Migration):

    dependencies = [
        ('quickbbs', '0017_auto_20180315_2138'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='thumbnails_files',
            name='DeletePending',
        ),
        migrations.RemoveField(
            model_name='thumbnails_files',
            name='Flag_For_Regeneration',
        ),
    ]
 

>
> So my best guess is: 
> - The two 0018 migrations were caused by 2 different branches in the 
> source repository, adding migrations in parallel 
>

You're guessing, but that's because you don't have the details.. (And that 
is my fault).

One, I'm the only one working on this  - 
http://github.com/bschollnick/quickbbs
And no, sadly there has only been one active tree in development.  
 

> - These were applied to the database also in parallel 
> - Further migrations were added, depending on the 0018 migrations 
> - One migration was removed that was the common ancenstor for one of the 
> 0018 
> migrations and another migration. 
>

Actually, because of the workaround, I realized that an earlier squashed 
migration had caused Django to renumber the migrations, starting back at 
one. Yes, it's documented, but that doesn't mean that I remembered that..

Now this doesn't answer why it was only an issue under python 3 / Django 
v2.05. But I may just have to live with not understanding that for now.

| Without reconstructing the dependency graph it will be difficult to see 
how you 

> could have solved it. 
> To prevent it, establish a protocol for your developers to communicate 
> with 
> eachother when adding and removing migrations. 
>

As I mentioned, there's only one developer... I'm happy to have other 
input, but for now at least, that's all there is...
(And I still have all the migration files, so if you'd like, I'll be happy 
to make them available...  But they should also be on GitHub also).

                - Benjamin 

-- 
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+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/36a92310-252c-4601-8514-7371f0f6886e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to