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 [email protected].
To post to this group, send email to [email protected].
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.