01
真正改变的是什么
两个产品都给你 PostgreSQL。差别在底下:Neon 把存储与计算分离,并在存储层做分支;CapyDB 在专属存储上跑一个普通的 PostgreSQL 进程,并通过克隆该存储来分支。你能感受到的结果是,CapyDB 的单元表现得就像你笔记本上的 Postgres——因为它就是。
你的 schema、查询、扩展和迁移都原样搬过来。需要留意的是连接层,以及任何针对特定服务商驱动写的代码。
迁移
同一个 Postgres,不同的执行模型。这里写清楚什么会变、什么不变,以及如何不停机地搬家。
01
两个产品都给你 PostgreSQL。差别在底下:Neon 把存储与计算分离,并在存储层做分支;CapyDB 在专属存储上跑一个普通的 PostgreSQL 进程,并通过克隆该存储来分支。你能感受到的结果是,CapyDB 的单元表现得就像你笔记本上的 Postgres——因为它就是。
你的 schema、查询、扩展和迁移都原样搬过来。需要留意的是连接层,以及任何针对特定服务商驱动写的代码。
02
03
04
如果你的项目引入了 Neon 专用的 serverless 驱动,CLI 会替你改写:codemod 把客户端换成标准 PostgreSQL 驱动,修正连接初始化,并把它无法判断的调用点报告出来,而不是瞎猜。
# Dry run by default - nothing is written until you say so
capydb migrate codemod neon
capydb migrate codemod neon --write05
对着现有连接字符串发起一次导入。跟随模式会在你测试期间让新单元与源保持同步,于是切换变成改一次 DNS 和环境变量,而不是一段维护窗口。
capydb import \
--project my-app \
--source-url "$OLD_DATABASE_URL" \
--follow06
07
生产切换请在动手前告诉我们。我们会审阅方案、在窗口期在线,并备好一条恢复路径。这不花你钱,却是无聊的一晚和刺激的一晚之间的差别。