使用Python、SQLAlchemy和Alembic在数据库之间进行高级迁移
---更新为更清晰--- 我有相当多的任务摆在我面前,我希望Alembic和SQLAlchemy可以做我需要的 我想开发一个桌面应用程序,帮助将数据从一个SQLite数据库迁移到一个完全不同的模型,然后再迁移回来。那么,迁移对吗?这一切都很好,但我需要确保,如果我没有对特定的列/表进行建模,那么它已正确地移植到一个表中,稍后将读取该表以重建数据库 例如:使用Python、SQLAlchemy和Alembic在数据库之间进行高级迁移,python,sqlalchemy,database-schema,desktop-application,alembic,Python,Sqlalchemy,Database Schema,Desktop Application,Alembic,---更新为更清晰--- 我有相当多的任务摆在我面前,我希望Alembic和SQLAlchemy可以做我需要的 我想开发一个桌面应用程序,帮助将数据从一个SQLite数据库迁移到一个完全不同的模型,然后再迁移回来。那么,迁移对吗?这一切都很好,但我需要确保,如果我没有对特定的列/表进行建模,那么它已正确地移植到一个表中,稍后将读取该表以重建数据库 例如: DB 1: Table names ID First Name Last Name Table address
DB 1:
Table names
ID
First Name
Last Name
Table address
Street 1
Street 2
City
State
DB2:
Table givenName
ID
name
Table Surname
ID
Name
比如说,使用alembic,我映射了以下内容:
DB1 names.firstname => DB2 givenName.name
DB1 names.lastname => DB2 surname.name
但是假设我想使用到端口DB1到DB2的迁移,将未知数据存储在某个地方,然后在从DB2->DB1开始时正确地重建它
所以我想象这是一张各种各样的细木工桌子
DB2
Table Joiner
table_name
column_name
data
问题是我希望这一切都是完全动态的,这样就不会丢失任何信息
现在让我们增加一个额外的复杂性,我想构造一个排序生成器,这样我就可以简单地传递新的XML/JSON声明。这将定义映射,以及对已经基于代码的转换器的任何调用(日期转换等)
有关需要从一种数据库格式迁移到另一种数据库格式的示例,请参见
我的问题是,使用SQLAlchemy和Alembic,这是否可能或可以想象。这有多可行?有什么想法吗?如果你给我们一些数据的例子,可能会更好。这太抽象了。更不用说,所以一般也会推广发布代码。有吗?。这里还不清楚master和sqlite之间的区别。此外,老实说,这似乎是一个大问题,需要作为一个问题来解决,非常开放。在我进入兔子洞之前,看看SQLAlchemy是否可以以这种方式作为迁移工具的高级概念。;)如果你给我们举一些数据的例子可能会更好。这太抽象了。更不用说,所以一般也会推广发布代码。有吗?。这里还不清楚master和sqlite之间的区别。此外,老实说,这似乎是一个大问题,需要作为一个问题来解决,非常开放。在我进入兔子洞之前,看看SQLAlchemy是否可以以这种方式作为迁移工具的高级概念。;)