SQL works on ionic serve but not on device/emulator

I have several SQL tables, each in a different model file with a constructor like this:

constructor(platform){
    this.platform=platform;
    this.platform.ready().then(() => {
        this.productsSQL = new Storage(SqlStorage);
    });
}

On every query I first test this.platform.ready() then do the actual query. I used adb to check the status of the SQL and it seems to be in order initially, but then I need to populate the tables from a json I’m getting - which is being grabbed correctly - which I normally do with ( and other similar loops ):

if (data.json().products) {
    for (let i = 0; i < data.json().products.length; i++) {
        promises.push(this.product.addItemSQL(data.json().products[i]));
    }
}

And then after several of those:

Promise.all(promises).then((data) => {
    loading.dismiss();
    this.nav.setRoot(MainPage);
    }, (error) => {
});

Which works fine on ionic serve, but on a device/emulator it just hangs forever; if I get rid of the loading part, same thing.