· 8 years ago · Jul 27, 2018, 01:04 AM
1this.db = null;
2 var databaseName = "ext:MilesDB", // required
3 version = "0.1", // required
4 displayName = Miles.appName + " database"; // optional
5
6
7 // Setup SQL statements
8 // Categories
9 var sqlCreateCategoriesTable = "CREATE TABLE IF NOT EXISTS" +
10 "'categories' (value INTEGER PRIMARY KEY, label TEXT); GO;";
11
12 // Vehicles
13 var sqlCreateVehiclesTable = "CREATE TABLE IF NOT EXISTS 'vehicles' " +
14 "(value INTEGER PRIMARY KEY, label TEXT, lastmileage INTEGER, rate REAL); GO;";
15
16 // MileageEvents
17 var sqlCreateMileageEventsTable = "CREATE TABLE IF NOT EXISTS 'mileageEvents' " +
18 "(id INTEGER PRIMARY KEY, date INTEGER, endDate INTEGER, dateformat TEXT, " +
19 "begMiles TEXT, endMiles TEXT, mileage TEXT, purpose TEXT, " +
20 "destination TEXT, notes TEXT, category INTEGER, vehicle INTEGER); GO;";
21
22// **********************************************
23// Initialize database
24// **********************************************
25 this.init = function() {
26 //Mojo.Log.info("Entering db init");
27
28 this.db = openDatabase(databaseName, version, displayName);
29 //Miles.Db = this.db;
30 this.db.transaction((function (inTransaction) {
31 inTransaction.executeSql(sqlCreateCategoriesTable, [], function() { },
32 this.errorHandler
33 );
34 inTransaction.executeSql(sqlCreateVehiclesTable, [], function() { },
35 this.errorHandler
36 );
37 inTransaction.executeSql(sqlCreateMileageEventsTable, [],
38 function () { },
39 this.errorHandler
40 );
41 }).bind(this));
42 //Mojo.Log.info("****** Leaving db init *******");
43 }; // End init().