Ionic/Cordova SQLiteプラグインを使用しています。特定の関数を呼び出す前にデータベースが存在するかどうかを確認できます。私がopenDatabase("db", "", "name", dbSize, function() { };
を使用している場合は、データベースがない場合にのみ呼び出されますが、openDatabase()
のコードはAndroidアプリケーションを終了して再起動すると呼び出されません。dbがすでに作成されている場合はこれを呼び出す必要がありますか? dbが既に作成されていることを確認する別の方法はありますか?SQLiteデータベースが既に作成されていることを確認してください
基本的には、dbがあることを確認した後に関数を呼び出す必要があります。
db = openDatabase("dbn", "", "manager", dbSize, function() {
console.log('is called'); // only shows when first creating db
// USER table create
db.transaction(function (tx) {
//tx.executeSql('DROP TABLE grips.db.user');
tx.executeSql('CREATE TABLE IF NOT EXISTS user (id integer primary key,active_user, firstname, lastname, email, age, gym_id integer, set_time integer, date_created integer)');
tx.executeSql('CREATE TABLE IF NOT EXISTS sets (id integer primary key,machine_name, device_id integer, weight_val integer, user integer,reps, exercise_id integer, workout_id, gym_id integer, calories,time_ago text, date_created integer)');
tx.executeSql('CREATE TABLE IF NOT EXISTS devices (id integer primary key,mac_id text, device_type,gym_id integer,machine_id integer,machine_name,date_created integer)');
tx.executeSql('CREATE TABLE IF NOT EXISTS workouts (id integer primary key,user integer,date_created integer)');
tx.executeSql('CREATE TABLE IF NOT EXISTS pt_workouts (id integer primary key, img_url, name, video_url, admin_user integer, gym_id integer, gif_url, search_img, instructions, trainer_name, user_img, date_created integer)');
}, function (error) {
}, function() {
});
}, function (error) {
console.log('open db second error');
},function() {
console.log('open db second');
});