暂存数据库良好实践

2024-03-12

我即将部署一个相当复杂的站点来生产,并且第一次需要一个临时环境,我可以在更现实的环境中测试事物,特别是对于一些无法在本地运行的外部服务。

我的总体计划是首先在本地开发和测试,将简单的更改(小错误修复、HTML/CSS、JS 等)直接推送到生产环境,对于较大的更改,首先推送到暂存子域进行彻底测试,然后再推送到生产环境。

我不认为我需要保持登台和生产数据库同步(偶尔手动更新就可以),但我想知道在维护与生产环境相关的登台环境方面是否有任何通用的良好实践,特别是当涉及到数据库时。

任何一般性的想法/建议/经验将不胜感激。

UPDATE:

感谢您的评论,我明白了要点。我想值得花一些时间思考这个问题。接受了大众的回答。


绕过分阶段并在生产中进行更改会导致灾难和废弃。当您进行这些更改时,次要的定义开始发生变化。其次,随着两个环境的分离(即登台不再与生产相匹配),事情就会崩溃,您对登台环境失去信心。为了充分利用临时服务器,您应该对其进行自动化部署,进行全面测试,然后才部署(自动化)到生产环境(无论更改有多小)。您还应该确保整个环境尽可能相似,并保持这种状态。这显然包括数据库。我通常每天或每小时设置一次同步(取决于我构建网站或应用程序的频率)来维护数据库,并且经常将其作为构建过程的一部分运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

暂存数据库良好实践 的相关文章

随机推荐

  • Git 和二进制数据

    我目前开始使用 git 作为我的版本控制系统 但是我做了相当多的网络 游戏开发 这当然需要存储图像 二进制数据 因此 如果我的理解是正确的 如果我提交一个图像并且它更改了 100 次 那么如果我获取该存储库的新副本 我基本上会检查该二进制文
  • 为什么 Windows Vista x64 上的 x86 WiX 安装程序不将密钥写入注册表中的 Wow6432Node?

    我有一个安装程序可以写入HKLM Software DroidExplorer InstallPath 在任何 x86 机器上 它都可以很好地写入预期位置 而在 Windows XP x64 和 Windows 7 x64 上 它也可以写入
  • Java 中字符串连接时的“==”

    String a devender String b devender String c dev String d dev ender String e c ender System out println a b case 1 o p t
  • 如何将django项目划分为应用程序

    我想知道如何将具有层次结构的项目划分为应用程序 假设我正在尝试构建类似 github com 的东西 在 github com 中 一个帐户有一些存储库 其中包含一些功能 例如代码 问题或拉取请求 这些功能引用了其他功能 在这种情况下 哪个
  • 在 pgadmin EXPLAIN ANALYZE 中,独占与包含

    如下所示 我尝试基于 Pgadmin 的 EXPLAIN ANALYZE 功能来优化我的查询 有经验的人可以告诉我计时中的包容性和排他性之间的区别吗 为什么 EXCLUSIVE 可以是负数 谢谢 这看起来类似于https explain d
  • FitViewport 中的 LibGDX 背景图像

    因此 我将 LibGDX 用于我即将推出的应用程序 我使用 FitViewport 来确保 16 9 的宽高比 因此 使用 16 9 以外的其他宽高比的播放器会出现网站黑边 绘制屏幕填充背景图像并覆盖黑条所在区域的最佳方法是什么 camer
  • Visual C++ 发行版本 - 当通过 DLL 传递时,字符串是否会因为使用不同的运行时版本编译而损坏?

    在发布模式下构建后 我看到了在调试模式下未发生的异常 调试发布版本时 字符串引用似乎没有从 EXE 我们的应用程序 正确传递到接收字符串引用的 DLL 我们的 EXE 代码如下所示 string contents handle messag
  • If 语句 R 闪亮

    我正在尝试使用 if 语句Shiny 我想在外部使用 min 和 name 变量for loop 我试过把if 中的声明reactive但随后我无法访问 min 和 name 变量 Code server function input ou
  • Grunt connect-modrewrite 不起作用

    我使用生成器角度来创建我的项目 我使用 HTML5 历史记录 locationProvider html5Mode true hashPrefix 对于 url 重写 我使用连接 modrewrite https npmjs org pac
  • 注册添加for循环

    很抱歉 如果以前有人问过这个问题 但我无法找到我可以理解和应用的答案 我正在编写一个用于安装应用程序的批处理文件 并且需要该批处理文件将软件密钥中的注册表项添加到 HKEY USERS 配置单元中的每个配置文件 我已经能够使用 REG AD
  • 停止批处理文件直到网站停止完成?

    这个问题非常类似于停止批处理文件直到服务停止完成 https stackoverflow com questions 2874911 halt batch file until service stop is complete但我想停止一个
  • 具有非托管依赖项的 64 位托管程序集未在 IIS/ASP.NET MVC 4 中加载

    我有一个几乎空的 ASP NET MVC4 项目 引用 64 位托管程序集 该程序集具有一组非托管依赖项 通过引用以正常方式引用托管程序集 非托管依赖项会在构建后事件中复制到 bin 文件夹 并在 Web 应用程序启动时出现 这已得到验证
  • Django 从模型变量渲染模板

    我有一个模型 class DocumentoPaziente models Model nome models CharField null True blank True max length 50 cognome models Char
  • SwiftUI Text 和 LocalizedStringKey 带参数

    我正在尝试添加带有参数的 SwiftUI 本地化文本 然而 在整个应用程序中 我们使用本地化键的包装器 所以我们有这样的东西 static let helloWorldText NSLocalizedString helloWorldTex
  • 是否真的需要旧版本的 Flex SDK?

    我正在我的系统上配置一个已经完成的项目 该项目使用旧的 Flex sdk 以下是我的POM
  • 使用 foreach 循环插入查询接收未捕获错误:调用布尔值上的成员函数execute()

    我试图一次向我的数据库插入多行 前几天我在这里发布了一个问题see here https stackoverflow com questions 37976978 loop through result set before inserti
  • 尽管使用机密客户端,Azure 刷新令牌仍会过期

    我正在将 Web 应用程序 API azure 应用程序用于 Web 应用程序 并使用带有 client id 和 client secret 的授权授予流程来获取访问 刷新令牌 使用 REST API 一切正常 除了刷新令牌在 90 后过
  • 需要react-redux v6 v3.*.* 版本的react-redux-firebase

    我一直在使用react redux firebase 开发一个项目 它以前对我有用 今天我收到以下错误 我不确定错误是否出在我的代码中的其他地方 或者我是否必须将react redux firebase更新到版本3 目前似乎还不存在 其他人
  • 为什么Ruby中没有深拷贝方法?

    我正在研究技术图纸 svg ruby 的解决方案 我想操纵矩形 并有一个add 这个类中的方法 class Rect def add delta x1 delta and so on self end end 我还需要一个add方法返回一个
  • 暂存数据库良好实践

    我即将部署一个相当复杂的站点来生产 并且第一次需要一个临时环境 我可以在更现实的环境中测试事物 特别是对于一些无法在本地运行的外部服务 我的总体计划是首先在本地开发和测试 将简单的更改 小错误修复 HTML CSS JS 等 直接推送到生产