Neutron 数据库Model迁移

云计算 专栏收录该内容
40 篇文章 0 订阅

本文档旨在跟踪并通知开发人员Neutron中的DB model模型将集中化并转移到目录neutron/db/models目录下的一棵新代码树上。这在文档[1]中讨论过。迁移数据库模型的原因是为了解决在实现Neutron资源的oslo版本化对象时,发生的循环导入问题。

这种迁移背后的原因是Mixin类和Neutron中一些资源的数据库模型db models处于同一模块中。在Mixin类中,有一些方法通过queries提供了获取、添加、更新和删除数据的功能。这些queries将替换为使用版本化对象,及版本化对象的定义将使用DB模型。所以对象文件将被导入模型,Mixin需要导入那些最终会在循环导入中结束的对象。

Model结构体定义

我们决定将所有模型定义转移到neutron/db/models/目录,之后不再有更深的嵌套。移动模型的废弃方法已添加用于避免使用这些模型的第三方插件崩溃。所有迁移的模型都需要使用废弃方法生成警告并返回新类以代替旧类使用。一些迁移模型如[2]和[3]的示例。如果将来定义新模型请确保它们与mixins分离,并在neutron/db/models/目录树下。

References

[1]. https://www.mail-archive.com/openstack-dev@lists.openstack.org/msg88910.html
[2]. https://review.openstack.org/#/c/348562/
[3]. https://review.openstack.org/#/c/348757/

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值