Neutron 数据库Model迁移

本文档旨在跟踪并通知开发人员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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值