Search code examples
pythondjangodjango-modelsdjango-cmsdjango-migrations

django reusable app: remove dependencies in migrations?


I am writing a reusable django app, for django-cms. It will provide some cms-plugins, and a plugin framework. I have created migrations for my plugins.

I started it some time ago, and the first plugins and it's migrations were created using django-cms==3.4.something, and they reference in there migrations files a dependency like this:

dependencies = [
    ('cms', '0016_auto_20160608_1535'),
]

Now I worked again on that project, on another computer, installing django-cms==3.5.2 into my virtualenv. For a new plugin, this creates new migrations like this:

dependencies = [
    ('cms', '0020_old_tree_cleanup'),
]

Obviously, this new migration cannot be used in an older cms project, using django-cms 3.4.x, as the needed dependency migration is not present.

The question: Shall I add the 3.4.x migration dependency into my newly created migration? Or would it be better to completely remove those dependencies from my migrations (I doubt...)?


Solution

  • Yes, add the 3.4.x migration dependency if your plugin needs to work with 3.4.x.

    The newer migrations on 3.5 don't change any plugin schema.