Как исправить «ошибка AssertionError: не реализовано» при попытке изменить обязательное отношение к необязательному в миграции PonyORM - PullRequest
0 голосов
/ 29 марта 2019

Я получаю AssertionError: Not implemented, когда пытаюсь изменить отношение между двумя моделями на Обязательное на Необязательное.

Шаги для воспроизведения: я попал в мою модель user = Required(lambda: User) и затем изменил ее на user = Optional(lambda: User, default=None, nullable=True) python migrate.py make, без ошибок python migrate.py apply:

Applied:
Traceback (most recent call last):
  File "migrate.py", line 8, in <module>
    models.db.migrate(**app.config['DB_PARAMS'])
  File "/home/www/env/lib/python3.6/site-packages/pony/orm/core.py", line 728, in migrate
    return migrate(self, command)
  File "/home/www/env/lib/python3.6/site-packages/pony/migrate/command.py", line 61, in migrate
    return _migrate(db, cmd, **kwargs)
  File "/home/www/env/lib/python3.6/site-packages/pony/migrate/command.py", line 102, in _migrate
    graph.apply(db=db, is_fake=fake_initial, dry_run=dry, name_start=start, name_end=end)
  File "/home/www/env/lib/python3.6/site-packages/pony/migrate/migration.py", line 383, in apply
    upgrade_db(new_db, dic)
  File "/home/www/env/lib/python3.6/site-packages/pony/migrate/migration.py", line 53, in upgrade_db
    op.apply(db)
  File "/home/www/env/lib/python3.6/site-packages/pony/migrate/diagram_ops.py", line 154, in apply
    assert False, 'Not implemented'
AssertionError: Not implemented

Когда я удаляю всю БД и все мои миграции и запускаю make & apply снова, все работает нормально, но теперь я должен выполнить эту миграцию в моемпроизводственный сервер.

...