Ionic 3-卸载应用程序

时间:2018-10-15 20:33:34

标签: android sqlite cordova ionic3 ionic-native

我有一个使用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"));
}

}

1 个答案:

答案 0 :(得分:2)

我不太确定这个问题,但是SQLite数据库将在卸载并重新安装后删除并重新创建。原因是因为这是设备上的本地存储。删除应用程序时,将删除(大部分)所有数据。据我所知,如果您希望数据库在卸载并重新安装后不会更改,则必须合并基于云的SQL或需要Internet的数据服务器。