WebSQLのデータベース・バージョン

WebSQLでは、データベース・バージョンを指定することができます。

# バージョンを指定してデータベースを開く
db = window.openDatabase(DB_NAME,DB_VERSION,DB_DESCRIPTION,DB_SIZE)

#  バージョンを変更する
db.changeVersion(OLD_VERSION, NEW_VERSION, ()->...)

これを利用することで、バージョンを判定して、マイグレーションをすることができます。

例えば、この人がやってるみたいにね。

https://sites.google.com/site/babukumasstudy/html5/websql

sqliteには、もともとuser_versionやschema_versionというメタ情報で、データベースのバージョンを管理することができますが、

user_versionやschema_versionは、数値型で、WebSQLのバージョン指定は、文字列型なんですね。

同じものかと思ったけど、型が違う。

// user_versionを取得
pragma user_version;

// user_versionを設定する
pragma user_version = 1;

そこで、Chromeのデータファイルを開いてみたら、__WebKitDatabaseInfoTable__というテーブルで管理されていました。

f:id:ryu-htn:20131210185552p:plain


WebSQLは独自に管理しているのですね。