2016-05-16 38 views
0

我正在使用SQLite進行一些小型項目,並且今天遇到了一個很容易使用其他SQL數據庫解決的問題,但顯然這是一個主要的絆腳石。在sqlite中管理增量模式更新

通常情況下,我們管理使用,每次更新一個單獨的文件架構更新...

setup.001.sql 
setup.002.sql 
... 
setup.011.sql 
etc. 

通過使用各種if語句,我們可以檢查,如果某些架構更新需要在SQL腳本中進行本身就是這樣,它只是執行每個腳本以便將任何版本的數據庫引入當前版本。

所以我SQLite中發現一對夫婦的問題與此:

  • 似乎沒有成爲一個if聲明
  • 似乎沒有要檢索PRAGMA user_version成一個乾淨的方式用於檢查的局部變量

那麼,如何在SQL腳本內部執行依賴於此信息的內部更新?我不想在另一種語言中編寫單獨的更新腳本,只是爲了能夠有條件地運行這些腳本。對於任何數據庫提供者來說,這似乎是一個非常基本的需求

回答

0

SQLite是一個嵌入式數據庫;它旨在與「真正的」編程語言一起使用。你必須把邏輯放到你自己的應用程序中。

PRAGMA user_version的輸出可以像任何其他查詢的輸出一樣讀取。