---更新更清晰---
我面前有很多任务,我希望Alembic和SQLAlchemy可以做我想做的事。
我想开发一个桌面应用程序,帮助将数据从一个SQLite数据库迁移到完全不同的模型,然后再返回。那么迁移对吗?这一切都很好,但我需要确保如果我没有建模特定的列/表,它已正确移植到一个表,稍后将读取该表以重建数据库。
示例:
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声明。这将定义映射,以及已经基于代码的转换器的任何调用(日期转换等)。
有关需要从一个数据库格式迁移到另一个的数据库格式的示例,请参阅https://cloudup.com/cYzP2lCQjbo
我的问题是,如果使用SQLAlchemy和Alembic,这是可能的还是可以想象的。这有多可行?有什么想法吗?