Creando una base de datos para aplicaciones en HTML 5
Aprovechando las características de html5, estoy creando una aplicación para que se pueda ejecutar offline. Para ello he credo una base de datos que tenga los siguientes métodos:
function initDb() {
try {
if (!window.openDatabase) {
} else {
shortName = 'esviable_app';
version = '1.0';
displayName = 'Esviable_app';
maxSize = 2000000; // in bytes
db = openDatabase(shortName, version, displayName, maxSize);
}
} catch(e) {
if (e == INVALID_STATE_ERR) {
console.log("Invalid database version.");
} else {
alert("Unknown error "+e+".");
}
}
return db;
}
function createTables(db) {
db.transaction( function (transaction) {
transaction.executeSql('CREATE TABLE IF NOT EXISTS user(id INT NOT
NULL PRIMARY KEY, firstName CHAR(35), lastName CHAR(35), age INT,
address CHAR(40), email CHAR(20), phone CHAR(15));');
});
}
function createUsers(users) {
db.transaction( function (transaction) {
while (users.length > 0) {
user = users.pop();
console.log("User: " + user.firstName + " " + user.lastName, + " " + user.age
+ " " + user.address + " " + user.email + " " + user.phone);
transaction.executeSql('INSERT INTO user(firstName, lastName, age, address,
email, phone) values (?, ?, ?, ?, ?, ?);', [user.firstName,user.lastName, user.age,
user.address, user.email, user.phone], null,errorHandler);
}
endTime = new Date().getTime();
alert(endTime-startTime);
});
}
Las dudas principales que se pueden tener a la hora de trabajar con bases de datos en html5 creo que pueden ser las siguientes:
- ¿Dónde se guardan las bases de datos con html5?
Dependiendo del navegador, en chrome y firefox:
Windows (vista/7), en C:\Users\\AppData\Local\Chromium|(Google)\UserData\Default\databases
Linux, en $HOME/.config/chromium/Default/databases/
Mac, en $HOME/Library/Application Support/Chromium/Default/databases/
Reemplazar para linux y mac chromium por firefox
- ¿Cómo elimino una base de datos en html5?
Se pueden eliminar desde el propio navegador, en los ficheros que se almacenan junto con las cookies
Las puedes eliminar a través del directorio donde se ubican
