我们刚刚为部署请求(Deploy Request)的界面新增了一些细节,下面想与大家分享一下。如果你的数据库模式的更改可能导致由于删除列或表而丢失数据,我们现在会直接向你显示警告。
部署请求中的数据丢失警告
我们的目标是让部署请求成为最安全、最轻松的方式来进行数据库模式的更改。
今年早些时候,我们发布了一项仪表板功能,允许你通过简单的一次点击将生产环境中的数据库模式更改进行回滚,同时保留在此期间写入的所有数据。
现在,通过这个小界面上的改进,我们希望进一步保护开发者免受错误的影响,将警告直接显示在部署请求页面上。


来自重命名操作的启发

此功能的灵感主要来自开发者通过 PlanetScale 重命名列时的体验。开发者经常会问一个问题:如何安全地重命名列?
在实现零停机部署时,重命名是一种不安全的操作。
为了成功进行一次列重命名,必须同时部署你的数据库模式更改和代码更改。这是非常高风险的操作,而且几乎不可能完全准确地完成。
如果你确实需要进行重命名操作,以下是安全的方法:

  1. 创建一个新列。
  2. 更新你的应用程序,使其同时写入到旧列和新列。
  3. 运行脚本,将旧数据回填到新列。
  4. 更新你的应用程序,使其从新列读取数据。
  5. 移除双写逻辑。
  6. 现在可以安全地删除旧列了。

上述每个步骤都需要对你的应用程序进行一次部署。这虽然增加了一些额外工作,但它是一个在不影响生产环境或导致停机的情况下完成重命名操作的最安全方法。



部署请求现在提供潜在不必要更改的警告插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/09/07/planetscale-2/