我的目标是使用alembic为我当前的项目添加第二个数据库。我有默认的alembic文件夹,并使用' alembic init alembic_second'我创建了第二个文件夹结构。我修改了第二个文件夹中的env.py和根alembic.ini。我跑的时候
alembic -n 'alembic_second' revision -m "create second" --head=base --version-path=alembic_second/versions --autogenerate
输出是:
postgresql:// (all the correct second database connection stuff)
INFO [alembic.migration] Context impl PostgresqlImpl.
INFO [alembic.migration] Will assume transactional DDL.
ERROR [alembic.util] Target database is not up to date.
FAILED: Target database is not up to date.
postgresql://(所有正确的第二个数据库信息)
解决方案here对我不起作用,因为我的新版本文件夹是空的,我的问题是我无法在这个新数据库上运行我的FIRST迁移。正如您在终端输入中看到的,我正在指定新版本文件夹。
另外,我在第二个env.py中添加了一个print语句,我成功地看到了它,所以它正在点击正确的env.py。
有关如何解决此错误并创建我的第一次修订的任何想法?
谢谢!
答案 0 :(得分:0)
事实证明,在我对两个数据库结构之间的差异进行排序之后,核心问题与我链接的问题相同,我只需要添加所有正确的标志以使其适用于两个数据库。 运行:
alembic -n 'alembic_second' stamp head --version-path=alembic_second/versions
解决了我的问题。