<blockquote id="g5mpq"><rt id="g5mpq"></rt></blockquote>

    1. <pre id="g5mpq"></pre>
      <i id="g5mpq"><legend id="g5mpq"></legend></i>
      浪漫女家教主演:黛比地区:台湾 ,日本jiZz,爸爸的种子在线观看,特别的酒店2免费,哇嘎在线,荒野渔夫高清免费观看,新有菜在线免费观看,哇嘎美国
      網易首頁 > 網易號 > 正文 申請入駐

      Claude Code 刪完數據庫,還說一切正常。。。。

      0
      分享至



      2026 年 7 月 12 日,一名開發者發文稱,Claude Code 在檢查數據庫遷移問題時,誤將生產數據庫當成臨時測試數據庫使用,導致生產數據庫的全部表結構被刪除并重新創建。


      更令人意外的是,Claude Code 完成操作后并未發現異常,反而報告稱生產環境一切正常,“沒有進行任何修改”。

      根據當事人的說法,Claude Code 最初正在排查測試環境中的數據庫遷移記錄與實際結構不一致問題。隨后,開發者追問生產環境是否也受到了影響,希望 Claude Code 只對生產數據庫進行檢查。

      Claude Code 隨即運行 Prisma 數據庫遷移工具的 migrate diff 命令,用于比較遷移文件與生產數據庫結構之間是否存在差異。

      問題出在命令參數上。

      Claude Code 將生產數據庫地址同時設置為待檢查數據庫和“影子數據庫”。

      影子數據庫是 Prisma 用于臨時重放遷移記錄的工作空間,系統默認其內部數據可以隨時清除,并不適合存放真實業務數據。

      Prisma 官方文檔明確警告,實際數據庫地址與影子數據庫地址不得使用相同配置,否則可能刪除數據庫中的全部數據。影子數據庫在運行過程中會被重置,并重新執行已有的遷移記錄。

      由于生產數據庫被錯誤指定為影子數據庫,Prisma 刪除了原有表結構,并重新執行了 116 個遷移文件。數據庫的表和字段雖然重新建立,但原有業務數據已不在這些新建的空表中。

      隨后,Prisma 返回“沒有需要生成的遷移”結果。

      Claude Code 將這一結果理解為生產數據庫與遷移記錄完全一致,因此判斷數據庫狀態正常。實際上,兩者之所以完全一致,是因為生產數據庫剛剛按照這些遷移文件被重新創建。

      Claude Code 最終向開發者報告稱:“生產環境完全正常,沒有進行任何修改,所有操作均為只讀。”

      當事人隨后檢查了約 2000 份 Claude Code 本地會話記錄,找到執行相關命令的會話。命令運行時間與數據庫中第一條重新生成的用戶記錄相差約 72 秒,由此確認了數據庫被重建的時間。

      幸運的是,該公司使用的托管 PostgreSQL 數據庫支持按時間點恢復。開發者最終將數據庫恢復至事故發生約 2.5 小時前的狀態,全部數據得以找回,未造成永久性損失。

      原貼翻譯:

      我發出這篇帖子,是因為這種故障方式非常隱蔽。

      我認為,即使換成人類開發者,或使用其他 AI 編程工具,也有不少人可能會踩中同一個坑。

      事情的背景是這樣的,當時,我讓一個 AI 編程代理 Claude Code 排查測試環境中的數據庫遷移偏移問題。

      隨后,我又追問了一句:“生產環境也受到影響了嗎?”

      于是,它開始檢查生產環境是否正常。而生產數據庫恰恰是我明確不想觸碰的唯一一個數據庫。

      最終摧毀數據庫的是下面這條命令:

      prisma migrate diff \

      --from-migrations ./prisma/migrations \

      --to-url "$PROD" \

      --shadow-database-url "$PROD" # <-- 這里指向的是生產數據庫

      不了解 Prisma 工作機制的人,可能很難第一眼看出這條命令為什么如此致命。

      當 prisma migrate diff 使用 --from-migrations 參數時,Prisma 必須找一個數據庫,實際執行這些遷移文件,從而計算遷移完成后的數據庫結構。

      這個數據庫就是 --shadow-database-url 指定的“影子數據庫”。

      Prisma 默認認為影子數據庫只是一個可以隨時丟棄的臨時工作區,因此會刪除其中原有的數據庫結構,再重新執行全部遷移。

      Claude Code 將生產數據庫地址傳給了影子數據庫參數,相當于告訴 Prisma:將生產環境作為臨時工作區使用。

      于是,Prisma 刪除了生產數據庫的全部表結構,并重新執行了 116 個遷移文件,最終只留下了一批沒有業務數據的空表。

      最諷刺的是,比較結果隨后顯示:

      This is an empty migration.

      也就是“這是一個空遷移”,沒有發現任何結構差異。

      Claude Code 將其理解為:“生產數據庫與最新遷移版本完全一致,運行正常。”

      但結果之所以沒有差異,是因為生產數據庫就在一秒鐘前,剛剛按照這些遷移文件被完整刪除并重新創建。

      Claude Code 最后的回復甚至明確寫道:

      生產環境完全正常。沒有進行任何修改,所有操作均為只讀。

      事情為什么會發生

      坦率地說,原因有以下幾點。

      第一,“只讀”并不是由 migrate diff 這個子命令本身決定的,而是由它搭配的參數決定的。

      例如:

      migrate diff --from-url ... --to-schema-datamodel

      確實是只讀操作。

      但是:

      migrate diff --from-migrations ... --shadow-database-url

      并不是只讀操作。

      兩者使用的是同一個 migrate diff 子命令,但實際行為完全不同。

      第二,Claude Code 在幾分鐘前剛剛對測試環境運行過同樣的命令,而且表面上看起來“成功了”。

      實際上,它當時也悄悄清空了測試數據庫。

      但測試數據庫本來就是一個正在重新構建、狀態已經異常的副本,所以這次重置沒有被人發現。

      第三,生產數據庫所有者賬號的連接字符串,就放在一個臨時 Git 工作目錄的 .env 文件中。

      它與一次常規命令之間,只隔著一個環境變量。

      如何查明事故原因:

      Claude Code 會將每一次會話以 JSONL 格式保存在本地磁盤中。

      我在大約 2000 份會話記錄中搜索具有破壞性的命令特征,最終找到了相關會話。

      致命命令的執行時間,與數據庫中第一條“重新生成的新用戶”記錄的出現時間,相差不到 72 秒。

      兩份相互獨立的證據指向了同一個時間點,因此基本鎖定了事故原因。

      有些荒誕的是,這次數據庫清空事件,最后是通過讀取 AI 自己留下的操作記錄還原出來的。

      數據如何恢復:

      我們使用的是支持按時間點恢復的托管 PostgreSQL 數據庫。

      最終,我們將數據庫恢復到了事故發生約 2.5 小時前的狀態。

      數據全部恢復,沒有永久丟失。

      這也是我的公司今天還能繼續存在的全部原因。

      這次事故的教訓:

      --shadow-database-url 指向的數據庫,本質上就是一個你已經授權工具隨時刪除的數據庫。

      絕對不要將它指向任何真實數據庫。

      在 Prisma 的遷移工具中,只有 migrate deploy 適合在生產環境中使用。

      db push、migrate dev,以及使用 --from-migrations 參數的 migrate diff,都可能執行重置或刪除操作。

      此外,執行得更徹底,并不等于更安全。

      Claude Code 選擇了最嚴格、最權威的驗證方式,但恰恰是這種驗證方式帶來了副作用。

      因為在數據庫工具中,所謂“權威驗證”通常意味著,工具需要在某個地方真正創建和還原數據庫狀態。

      真正的系統性解決方案,并不是“少相信 AI”。

      關鍵在于,不要讓生產環境的可寫憑據出現在開發人員或 AI 代理可以直接訪問的終端環境中。

      AI 的自主性只會放大現有權限控制的效果:你設置了哪些安全邊界,它就會放大哪些安全邊界;你沒有設置哪些邊界,它也會放大這些缺口。

      即使沒有 AI,同樣的權限隔離措施,也能攔住一名晚上 10 點半因疲勞而誤操作的開發者。

      歡迎提問。

      有需要的話,我也可以公布一份完整的事故分析,包括取證證據,例如 pg_class.reltuples = -1、_prisma_migrations 記錄表消失等細節。

      云頭條聲明:如以上內容有誤或侵犯到你公司、機構、單位或個人權益,請聯系我們說明理由,我們會配合,無條件刪除處理。



      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      168萬拍下“乾隆梅瓶”僅值250元!拍賣公司經理當托兒詐騙獲刑 受害人:一共賣了我5個億

      168萬拍下“乾隆梅瓶”僅值250元!拍賣公司經理當托兒詐騙獲刑 受害人:一共賣了我5個億

      封面新聞
      2026-07-14 23:30:11
      第五波打擊!伊朗導彈密集發射,大批美軍被抬走?特朗普惱羞成怒

      第五波打擊!伊朗導彈密集發射,大批美軍被抬走?特朗普惱羞成怒

      今墨緣
      2026-07-14 09:09:31
      楊瀚森:我覺得最讓我驚喜的是,我竟然能聽懂他們在說什么

      楊瀚森:我覺得最讓我驚喜的是,我竟然能聽懂他們在說什么

      懂球帝
      2026-07-14 16:03:22
      周星馳新片《功夫女足》上映3天票房破6億,多家上市影企回應參投情況

      周星馳新片《功夫女足》上映3天票房破6億,多家上市影企回應參投情況

      澎湃新聞
      2026-07-13 22:14:27
      口碑爆款《八仙!》:驚喜不能停!

      口碑爆款《八仙!》:驚喜不能停!

      神秘阿飯
      2026-07-14 23:50:17
      看不起日本今天也回收成功?中美日三國PK可回收火箭,誰的技術更好?

      看不起日本今天也回收成功?中美日三國PK可回收火箭,誰的技術更好?

      軍武次位面
      2026-07-14 16:41:03
      大爺高鐵無座票強求孩童讓座:家長拒絕,對方亮明老師身份,怒斥缺乏教育

      大爺高鐵無座票強求孩童讓座:家長拒絕,對方亮明老師身份,怒斥缺乏教育

      李晚書
      2026-07-14 17:20:56
      豐田公布混動電池更換價格:容量只有一度,維修成本高于純電車

      豐田公布混動電池更換價格:容量只有一度,維修成本高于純電車

      生活魔術專家
      2026-07-14 19:19:48
      64GB+1TB+14.5英寸!新機官宣,7 月 15 日,正式開賣!

      64GB+1TB+14.5英寸!新機官宣,7 月 15 日,正式開賣!

      科技堡壘
      2026-07-13 11:30:28
      誰的中年不迷惘?蔣方舟的"邪門"中年

      誰的中年不迷惘?蔣方舟的"邪門"中年

      三人成虎V5
      2026-07-14 00:02:59
      連炸3天后,特朗普攤牌了,美國要在海峽收費,中方一句話定調

      連炸3天后,特朗普攤牌了,美國要在海峽收費,中方一句話定調

      浮黎禮
      2026-07-14 10:54:02
      鄒市明賣掉4套別墅,還欠6個朋友的錢,冉瑩穎:2億債終于松口氣

      鄒市明賣掉4套別墅,還欠6個朋友的錢,冉瑩穎:2億債終于松口氣

      椰黃娛樂
      2026-07-13 12:29:25
      張靚穎與馮軻相愛15年,被騙走億萬身家,離婚8年后兩人天差地別

      張靚穎與馮軻相愛15年,被騙走億萬身家,離婚8年后兩人天差地別

      一盅情懷
      2026-07-14 16:03:54
      又一家!北京知名連鎖湯泉接連閉店!

      又一家!北京知名連鎖湯泉接連閉店!

      大北京早知道
      2026-07-14 17:41:43
      臺灣名嘴提“西藏模式”解決統一問題,臺若拒統,只剩一條路可走

      臺灣名嘴提“西藏模式”解決統一問題,臺若拒統,只剩一條路可走

      共工之錨
      2026-07-14 00:31:34
      長沙市體育局負責人回應澎湃:有關情況還需要進一步核實

      長沙市體育局負責人回應澎湃:有關情況還需要進一步核實

      澎湃新聞
      2026-07-14 00:57:32
      消費者稱在樂事薯片中吃出“藍色薯片”,品牌方回應:已與消費者取得聯系,希望可以取回產品進行內部核查

      消費者稱在樂事薯片中吃出“藍色薯片”,品牌方回應:已與消費者取得聯系,希望可以取回產品進行內部核查

      山西晚報
      2026-07-14 11:26:47
      美國:找到新藥靶點,準備臨床!中國:這個靶點是吧?藥已經開賣

      美國:找到新藥靶點,準備臨床!中國:這個靶點是吧?藥已經開賣

      遁走的兩輪
      2026-07-13 10:17:17
      600多年的故宮一月兩淹,排水系統是古人沒做好,還是現代沒跟上

      600多年的故宮一月兩淹,排水系統是古人沒做好,還是現代沒跟上

      云霄紀史觀
      2026-07-14 17:15:09
      38萬!特斯拉新車,正式公布

      38萬!特斯拉新車,正式公布

      科技堡壘
      2026-07-12 11:52:09
      2026-07-15 00:20:49
      云頭條 incentive-icons
      云頭條
      引領科技變革,連接技術與商業。
      20716文章數 27338關注度
      往期回顧 全部

      科技要聞

      AI失業風險正在逼近 "我們連未來都看不清"

      頭條要聞

      河南商人在河北投資2100萬辦學成違建 反映問題被刑拘

      頭條要聞

      河南商人在河北投資2100萬辦學成違建 反映問題被刑拘

      體育要聞

      “愛哭鬼”教練,凝聚了一盤散沙的阿根廷

      娛樂要聞

      施南生離世,成龍、甄子丹等發文悼念

      財經要聞

      為什么說智譜是中國版Anthropic是偽命題

      汽車要聞

      激光雷達+智艙 看吉利星瑞L PLUS如何讓燃油車也更智能

      態度原創

      親子
      家居
      本地
      健康
      數碼

      親子要聞

      飛玩不可 超英擊戰 漫威超級英雄升級了 真假英雄敵我不分,1V1隨機輪換上場? 是高手過招,還是“菜雞”互啄?

      家居要聞

      2026建博會(廣州) 公裝聯探展交流活動

      本地新聞

      打的直達拉薩,一條視頻拿下五十萬獎金

      高血壓為何會導致中風高發?

      數碼要聞

      2026款機械革命曠世X筆記本新增酷睿7-245HX版本

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 别无选择电视剧| 美式的忌讳1-6| 百武装战记| 大宅门全集完整版免费| 二婶电视剧| 《美国空乘4》观看| 黄瑶情妇| 这省凭什么春节游客量第一| 金钱帝国粤语| 重生之嫡女毒妃:飒爆了全集免费| 木下檀檀子完整版免费看| 男生女生一起愁愁愁电视剧在线免费观看| 痕迹在线观看| 烧仙草和龟苓膏| 异世界迷宫开后官二季| 《法国少女农场》在线电影| 木下凛凛子ADN-735电影在线观看| 长津湖电影完整版免费观看西瓜| 甄嬛传20集| 韩剧《爱上女主播》免费观看| 新员工入职秘书2| 韩剧《我的漂亮女助理》| 高清《柳舟记》免费观看| 五福临门 电视剧 免费看| 战狼6妈妈版免费资源| 电影战狼4高清完整版在线观看免费9999 | 电视剧五号特工组第一部| 阳光并不遥远| 《女律师替夫还债》| 食物链6大尺寸原声试听| 电影《最亲密的兄妹》在线看| 家国两难全| 绝伦人妻的一夜日本电影| 乡村爱情小夜曲在线观看| 《家政老师2》免费观看韩剧| 大漠苍狼电视剧| 乡村爱情16部全集电视剧| 一起愁愁愁30分钟电视剧免费观看电视 | 李伯清散打评书| 凯登克罗斯HD版播放| 俄罗斯hd|