簡體   English   中英

OperationalError:嘗試在 Google Cloud 應用程序上寫入只讀數據庫

[英]OperationalError: Attempt to Write A ReadOnly Database on Google Cloud Application

最近,我一直在嘗試部署一個交互式 Google App Engine,它寫入 SQLite 數據庫,在本地運行應用程序時工作正常,但是通過服務器運行它時,我收到錯誤:

OperationalError: attempt to write a readonly database

我嘗試更改我的.db.sql的權限,但沒有運氣。

任何建議將不勝感激。

您可以嘗試更改目錄的權限並檢查.sqllite 文件是否存在並且可寫

但一般來說,在應用程序引擎上工作時依賴磁盤數據並不是一個好主意,因為磁盤存儲是短暫的(除非您在 flex 上使用永久性磁盤),但即便如此,最好使用雲數據庫解決方案

App Engine 具有完全只讀的文件系統,即不能修改任何文件。 但是,顧名思義,它有 /tmp/ 文件夾來存儲臨時文件。 它實際上使用 RAM,所以如果數據庫很大,這不是一個好主意。

在應用程序啟動時,您可以將原始數據庫文件復制到 /tmp/ 文件夾,然后從那里使用它。

這行得通。 但是,當應用節點擴展到 0 時,數據庫中的所有更改都會丟失。應用的每個節點都有自己的數據庫副本,並且節點之間不會共享數據。 如果您需要在應用節點之間共享數據,最好使用 CloudSQL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM