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:

    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++) {

And then after several of those:

Promise.all(promises).then((data) => {
    }, (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.