HTML and CSS Reference
In-Depth Information
einen leeren String hat. Somit kann die initiale Migration auf die aktuelle Version für
neue Nutzer direkt erfolgen.
Für Nutzer, die bereits eine Datenbank angelegt hatten, liefert der Aufruf der
openDatabase() -Methode die aktuelle Datenbank zurück, die dann mittels des
version -Attributs ebenso auf Aktualität geprüft werden kann. Eine notwendige
Migration wird dann analog zur Migration auf die Version 1.0 durchgeführt.
Um die Version einer Datenbank zu verändern, muss die Methode changeVersion()
der Datenbank benutzt werden. Diese Methode nimmt insgesamt fünf Parameter:
changeVersion(alteVersion, neueVersion, migrationAlt Neu,
migrationAlt Neu Fehler, migrationAlt Neu OK);
Der erste Parameter, alteVersion , stellt die aktuell vorhandene Version dar.
neueVersion stellt die Version dar, die abgespeichert werden soll, wenn die Migration
erfolgreich war. Das eigentliche Migrationsskript wird durch die Funktion
migrationAlt Neu durchgeführt. An diese Funktion wird ein transaction -Objekt
übergeben, auf dem dann executeSql('sql') wie bereits bekannt aufgerufen werden
kann. Ebenso können ein Fehler-Handler sowie eine Funktion angegeben werden, die
im Erfolgsfall aufgerufen wird. Folgendes Beispiel demonstriert die Integration von
Datenbankmigrationen (ab der Erstellung der Datenbank):
function cv 0 0 1 0(transaction)
{
transaction.executeSql('CREATE TABLE IF NOT EXISTS notes (id INTEGER NOT
NULL PRIMARY KEY AUTOINCREMENT, note TEXT);');
}
function cv failure 0 0 1 0(error)
{
alert('Fehler in Migration von 0.0 > 1.0 conversion. ' + error.message);
return true;
}
function cv success 0 0 1 0()
{
alert('DB auf 1.0 migriert');
}
function prepareDatabase()
{
try
{
var db openDatabase('someDB', '', 'someDB Beschreibung',
5*1024*1024);
if (db.version '')
{
//neu db, die DB muss auf die erste Version 'migriert' werden
db.changeVersion("", "1.0", $i.cv 0 0 1 0, $i.cv failure 0 0 1 0,
$i.cv success 0 0 1 0);
}
Search WWH ::




Custom Search