tortoise / aerich

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

Error when using any command with aerich #170

Closed anewberry74 closed 3 years ago

anewberry74 commented 3 years ago

Anytime I run command like "aerich inspectdb" or "aerich migrate" I get the following error.

Traceback (most recent call last): File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/bin/aerich", line 8, in sys.exit(main()) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/aerich/cli.py", line 298, in main cli() File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/core.py", line 1137, in call return self.main(args, kwargs) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/core.py", line 1062, in main rv = self.invoke(ctx) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/core.py", line 1665, in invoke super().invoke(ctx) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, ctx.params) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/core.py", line 763, in invoke return __callback(args, kwargs) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func return f(get_current_context(), *args, *kwargs) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/aerich/cli.py", line 41, in wrapper loop.run_until_complete(f(args, kwargs)) File "/usr/local/Cellar/python@3.9/3.9.0_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete return future.result() File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/aerich/cli.py", line 87, in cli await Migrate.init(tortoise_config, app, location) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/aerich/migrate.py", line 66, in init await Tortoise.init(config=config) File "/Users//src/pyvenvs/dce-gizmo-fastapi-v1/lib/python3.9/site-packages/tortoise/init.py", line 576, in init for name, info in connections_config.items(): AttributeError: 'set' object has no attribute 'items'

Init config file and location ran fine aerich init -t config.db.TORTOISE_ORM

. ├── aerich.ini ├── app ├── config │ ├── init.py │ └── db.py ├── inventory │ ├── init.py │ ├── models │ └── models.py └── migrations └── models

Create migrations/models and aerich.ini

[aerich] tortoise_orm = config.db.TORTOISE_ORM location = ./migrations

long2ice commented 3 years ago

Is that config correct?

anewberry74 commented 3 years ago

I am not sure what I am doing wrong. I changed the directory and I am still getting the same error.

└── apps
    ├── aerich.ini
    ├── db.py
    ├── migrations
    │   └── models
    └── models.py

aerich.ini

[aerich]
tortoise_orm = db.TORTOISE_ORM
location = ./migrations

db.py

TORTOISE_ORM = {
    "connections": {"postgres://user:pass@127.0.0.1:5432/dbname"},
    "apps": {
        "models": {
            "models": ["aerich.models", "models"],
            "default_connection": "default",
        },
    },
}
long2ice commented 3 years ago

connections is dict

anewberry74 commented 3 years ago

duh, yeah I see that now, thanks