Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy可以通过比较当前模型和db模式对db进行无损更改吗?_Python_Orm_Sqlalchemy - Fatal编程技术网

Python SQLAlchemy可以通过比较当前模型和db模式对db进行无损更改吗?

Python SQLAlchemy可以通过比较当前模型和db模式对db进行无损更改吗?,python,orm,sqlalchemy,Python,Orm,Sqlalchemy,基本上,我正在寻找一个DataMapper.auto_升级的等价物!来自红宝石世界 换言之: 改变模式 运行一些魔术->调查并更改当前数据库模式以反映模型 利润 当然,在某些情况下,这样的更改不可能是非建设性的,例如,当您删除某些属性时。但我不是说这种情况。我正在寻找一个通用的解决方案,它不会妨碍快速原型化和更改模式 TIASqlalchemy迁移(http://packages.python.org/sqlalchemy-migrate/)旨在帮助执行这些类型的操作。SQLAlchemy mi

基本上,我正在寻找一个DataMapper.auto_升级的等价物!来自红宝石世界

换言之:

  • 改变模式
  • 运行一些魔术->调查并更改当前数据库模式以反映模型
  • 利润
  • 当然,在某些情况下,这样的更改不可能是非建设性的,例如,当您删除某些属性时。但我不是说这种情况。我正在寻找一个通用的解决方案,它不会妨碍快速原型化和更改模式


    TIA

    Sqlalchemy迁移(http://packages.python.org/sqlalchemy-migrate/)旨在帮助执行这些类型的操作。

    SQLAlchemy migrate的问题在于它引入了迁移(将您从数据映射器模式切换到更类似于活动记录模式的模式)并以自己的格式存储元数据,所以你注定要进一步使用这种机制。我的观点是,这是不必要的,因为元数据已经在数据库中,对于一些领先的SQL后端来说,很容易获得这些信息。这就是DataMapper所做的。另外,我的观点不是学术性的,db模式将被其他方更改,迁移是不可能的。出于许多原因,我对sqlalchemy迁移也不感兴趣。除了你的,它是一个非常泄漏的抽象,它不支持MS SQL。我可以通过元数据和检查器类获得我想要的大部分信息。我目前的一个差距是获取信息和创建视图。在Inspector中,您可以遍历SQL以创建视图,但我更希望以不太原始的方式将视图的结构公开给我。