SQLAlchemy 1.0 发布

SQLAlchemy 1.0 release

我们在 Django 中有一个相当大的项目,它已经开始突破 Django 的局限性(我们主要将 Django 用于与数据库相关的东西,而不是 Web 界面),我们决定切换到 SQLAlchemy,而它仍然有可能(我们不想让自己陷入 this position:)。

问题是,这似乎真的是我们可以选择的最糟糕时间。 SQLA 即将发布 1.0 版,这可能是界面上的一个大变化。更重要的是,发布它似乎有些麻烦:一个多月前,Mike Bayer tweeted 发布候选版本将通过 pip --pre 提供,但它仍然没有发生。

文档更新到 1.0,bitbucket 存储库显示主分支和 1_0 分支之间的 no diff。如果这是 Django,我只需克隆一个存储库并直接安装它——Django 文档中有官方对这种方法的祝福。但是我在 SQLA 社区中看不到任何提示这是 "accepted behaviour"。例如,安装页面根本没有提到 1.0。

我是不是太偏执了?我们是否应该只使用 0.9.8,然后在 1.0 出来时进行一些更改?或者我们应该手动构建 1.0?或者等待会更好? (多少?我知道 SQLA 团队不想通过谈论发布日期来给自己施加压力,但 Mike 已经通过那条推文做到了这一点。:)

我意识到这不完全是一个 objective 问题,但了解 SQLA 过程的人可能会提供宝贵的建议。例如,如果有人问我关于 Django 2.0 的同样问题,我会告诉他们 "if it isn't a mission critical app, just clone and build from the newest repo state - the chance of breaking is small, and you're getting much better interface"。我的身后会有official docs

截至重写此答案之日,回答如何从 SQLAlchemy 0.9.8(2014 年 10 月 13 日发布的稳定版)或 中进行选择1.0("upcoming"版本),我个人会选择稳定版。

作为软件生命周期,测试版/前沿/夜间构建版本往往有更多错误或重大更改,这将直接导致您的系统/脚本崩溃。

因此,在大多数情况下,选择稳定版更为合适,除非您想在测试版中获得新功能。

最后,通常有迁移指南可以升级您的版本,但不会降级您的版本。在某些情况下(但可能不是在 SQLAlchemy 的情况下),升级有时是不可逆的。