我们正在使用sqlalchemy的自动加载功能进行列映射,以防止在我们的代码中进行硬编码。
class users(Base):
__tablename__ = 'users'
__table_args__ = {
'autoload': True,
'mysql_engine': 'InnoDB',
'mysql_charset': 'utf8'
}
是否有一种方法可以序列化或缓存自动加载的元数据/规范,因此我们不必每次需要从其他脚本/函数引用我们的orm类时都经过自动加载过程?
我看过烧杯缓存和泡菜,但没有找到明确的答案,如果有可能或如何做。
理想情况下,仅当我们对数据库结构进行了更改但从所有其他脚本/函数引用了数据库映射的非自动加载/永久/缓存版本后,才运行autload映射脚本。
有什么想法吗?
我们正在使用sqlalchemy的自动加载功能进行列映射,以防止在我们的代码中进行硬编码。 class users(Base):__tablename__ ='users'__table_args__ = {'autoload':True,...
[我现在要做的是在通过数据库连接(MySQL)运行反射后,对元数据进行腌制,一旦有腌菜可用,就使用该腌制的元数据在绑定有SQLite引擎的元数据上反映架构。
我的解决方案与@ user1572502的解决方案并没有很大不同,但可能很有用。我将缓存的元数据文件放置在~/.sqlalchemy_cache
中,但它们可以在任何地方。