如何为两个站点配置 ATk4 到一个数据库

发布于 2024-12-12 01:26:57 字数 585 浏览 0 评论 0原文

对于生产环境,我希望有一个设置,可以让我更新网站代码,但只将少数用户引导到包含新代码的页面(例如我自己和记录错误/增强的人),所以我的计划是进行设置像这样。

有两套在线所有代码(alpha 和 beta),但只有一个数据库(我意识到这意味着我必须仔细管理数据库问题并保持向后兼容性,但每次更改都应该相对较小且增量,因此认为这是可以的)。

在用户表上有一列,用于标识他们是否使用 Alpha 代码或 Beta 代码。 当我完成代码更改并完成单元测试后,代码将上传到 Beta 站点,我将在线测试它,这样只有我的用户才会被定向到 Beta 站点。

测试完成后,将提出问题/增强请求的用户设置为使用 Beta 站点,以便他们可以通过登录进行测试。确认后,将代码更新应用到 Alpha 站点并进行一项最终测试。然后该发布就完成了。

未登录的用户只能访问 Alpha 站点。

因为第一次访问用户信息是在 Frontend.php 中,所以最好的方法是什么 - 我是否需要有两个 API (Frontend.php),如果是这样,我如何决定应该根据用户?

目的是确保生产更新不会对所有用户造成问题,因此如果有人对如何管理代码部署以避免这种情况有任何建议,欢迎提出所有建议。

For production environment, i want to have a setup that lets me update the website code but only direct a small number of users to pages with the new code (e.g. myself and whoever logged the bug/enhancement) so my plan is to have a setup like this.

Have two sets of all code online (alpha and beta) but only one database (I realise this means i will have to carefully manage database issues and keep backward compatibility but each change should be relatively small and incremental so think this is ok).

Have a column on the user table which identifies whether they go to the Alpha or Beta code.
When i have completed a code change and done unit testing, the code will be uploaded to the Beta site and i will test it online so only my user will be directed to the Beta site.

Once i have tested, set the user who raised the issue/enhancement request to use the Beta site so they can test it by logging in. Once confirmed, apply the code update to the Alpha site and do one final test. That release is then complete.

Users who do not login will only have access to the Alpha site.

Because the first access to user information is in Frontend.php, whats the best way to do this - do i need to have two API (Frontend.php) and if so, how can i decide which of these should be loaded based on the user ?

The aim is to ensure that updates to production dont cause an issue for all users so if anyone has any suggestions as to how they manage code deployment to avoid this, all suggestions welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑饮青盏花 2024-12-19 01:26:57

我会并排创建两个环境。 API 将检查用户偏好并在这些环境之间重定向用户。我可能不会为了干净的版本控制而将类混合在一起或尝试保持相同的 URL。

I would create 2 environments, side by side. APIs would check user preference and redirect the user between those environments. I probably wouldn't go as far as to mix classes together or try to keep same URL for the sake of clean versioning control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文