# Load pre populated SQLite database - impossible in Ionic 2

**URL:** <https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601>\
**Category:** ionic-v3\
**Created:** [June 12, 2016, 6:07pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601 "2016-06-12T18:07:18Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 12, 2016, 6:07pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/1 "2016-06-12T18:07:18Z")

</div>

Hi,

I was just wondering if there is a way to load an exising SQL database on Ionic 2 project load?  
As I noticed, there is an option in SqlStorage:

if (win.sqlitePlugin) {  
var location\_1 = this.\_getBackupLocation(dbOptions.backupFlag);  
this.\_db = win.sqlitePlugin.openDatabase(util\_1.assign({  
name: [dbOptions.name](http://dbOptions.name),  
location: location\_1,  
createFromLocation: dbOptions.existingDatabase ? 1 : 0  
}, dbOptions));  
}  
…

but in any case the code wont run as ‘win.sqlitePlugin’ equals ‘undefined’.

Any ideas?

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [June 12, 2016, 8:07pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/2 "2016-06-12T20:07:20Z")

</div>

> [@kubik](#):
>
> in any case the code wont run as ‘win.sqlitePlugin’ equals ‘undefined’.

Are you running in a browser or on a device? Cordova plugins don’t generally work in browser environments.

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 12, 2016, 8:10pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/3 "2016-06-12T20:10:41Z")

</div>

Thanks rapropos for reply. The test that I have done was in browser env. - I will check it on device then.  
However do you know the best way of integrating an existing DB on app run?

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [June 12, 2016, 8:35pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/4 "2016-06-12T20:35:14Z")

</div>

> [@kubik](#):
>
> do you know the best way of integrating an existing DB on app run?

I figure it’s dangerous to assume binary compatibility in all the different environments Ionic applications try to run in, so I just issue SQL to initialize databases.

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 12, 2016, 8:38pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/5 "2016-06-12T20:38:33Z")

</div>

> [@rapropos](#):
>
> so I just issue SQL to initialize databases.

So how to fill in the DB with the initial data - any advice how it should look like?

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 23, 2016, 7:00pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/6 "2016-06-23T19:00:38Z")

</div>

Since a week - no response. I jave tried several ways to integrate the data but with no result. Is there anyone who managed to load a pre filled database in Ionic 2? Thanks.

---

<div class="post-metadata">

**Author:** ![Corin](https://avatars.discourse-cdn.com/v4/letter/c/6de8d8/32.png) [@Corin](https://forum.ionicframework.com/u/Corin)\
**Post date:** [June 23, 2016, 9:04pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/7 "2016-06-23T21:04:06Z")

</div>

Maybe you can do it using SQL…what do you think?

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 23, 2016, 9:11pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/8 "2016-06-23T21:11:06Z")

</div>

Could you please give me more details regarding the code structure? Do you mean use an external db with Ionic 2 services?

Also question: why would you give up then with SQLite?

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [June 23, 2016, 9:13pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/9 "2016-06-23T21:13:26Z")

</div>

We’re suggesting populating the database with ordinary SQL `INSERT` statements.

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 23, 2016, 9:21pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/10 "2016-06-23T21:21:37Z")

</div>

This means that the solution is an external database.  
My idea was to drop a ready database file avoiding any internet connexion.

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [June 23, 2016, 9:27pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/11 "2016-06-23T21:27:39Z")

</div>

Nobody said anything about internet connections. SQLite is an SQL engine. You can issue `CREATE TABLE` and `INSERT` statements to it just as you can any other SQL engine.

---

<div class="post-metadata">

**Author:** ![kubik](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@kubik](https://forum.ionicframework.com/u/kubik)\
**Post date:** [June 24, 2016, 7:09pm UTC](https://forum.ionicframework.com/t/load-pre-populated-sqlite-database-impossible-in-ionic-2/54601/12 "2016-06-24T19:09:17Z")

</div>

Ok but can you imagine the INSERT statement for 10 000 entries in the core of code - for me it’is dirty solution, or do you think maybe of json file as a source?
