tortoise / aerich

A database migrations tool for TortoiseORM, ready to production.
https://github.com/tortoise/aerich
Apache License 2.0
804 stars 90 forks source link

aerich删除模型中的字段时要先删除索引再运行一遍检查更新,再删除字段,一次性全部删会报错? #294

Open 1731249586 opened 1 year ago

1731249586 commented 1 year ago

ERROR: Traceback (most recent call last): File "D:\gitpro\xxxx\backend.venv\lib\site-packages\starlette\routing.py", line 671, in lifespan async with self.lifespan_context(app): File "D:\gitpro\xxxx\backend.venv\lib\site-packages\starlette\routing.py", line 566, in aenter await self._router.startup() File "D:\gitpro\xxxx\backend.venv\lib\site-packages\starlette\routing.py", line 648, in startup await handler() File "D:\gitpro\xxxx\backend\app.py", line 143, in startup_event await command.migrate() File "D:\gitpro\xxxx\backend.venv\lib\site-packages\aerich__init__.py", line 121, in migrate return await Migrate.migrate(name) File "D:\gitpro\xxxx\backend.venv\lib\site-packages\aerich\migrate.py", line 140, in migrate cls.diff_models(cls._last_version_content, new_version_content) File "D:\gitpro\xxxx\backend.venv\lib\site-packages\aerich\migrate.py", line 388, in diff_models cls._drop_index( File "D:\gitpro\xxxx\backend.venv\lib\site-packages\aerich\migrate.py", line 529, in _drop_index fields_name = cls._resolve_fk_fields_name(model, fields_name) File "D:\gitpro\xxxx\backend.venv\lib\site-packages\aerich\migrate.py", line 513, in _resolve_fk_fields_name field = model._meta.fields_map[field_name] KeyError: 'test1'