我有一个使用ionic 3的应用程序开发,一切正常,但是当您卸载并安装该应用程序时,将删除数据库并创建一个新数据库。我的代码是:
export class DatabaseServiceProvider {
private database: SQLiteObject;
private dbReady = new BehaviorSubject<boolean>(false);
private formatDate: string = "%d/%m/%Y";
private formatHours: number = 24;
constructor(
private platform: Platform,
private sqlite: SQLite,
private storage: Storage,
){
this.platform.ready().then(()=>{
this.sqlite.create({
name:'flb01.db',
location: 'default'
}).then((db:SQLiteObject)=>{
this.database = db;
this.createTables().then(()=>{
this.dbReady.next(true);
})
})
});
}
private createTables(){
return this.database.executeSql(`
CREATE TABLE IF NOT EXISTS productos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT,
codbar TEXT,
departamento TEXT,
empresa TEXT,
presenta TEXT,
detalle TEXT,
presentaold TEXT,
detalleold TEXT
);
`,[])
.catch((err)=>console.log("Error detectado creando tablas"));
}
}
答案 0 :(得分:2)
我不太确定这个问题,但是SQLite数据库将在卸载并重新安装后删除并重新创建。原因是因为这是设备上的本地存储。删除应用程序时,将删除(大部分)所有数据。据我所知,如果您希望数据库在卸载并重新安装后不会更改,则必须合并基于云的SQL或需要Internet的数据服务器。