我正在使用sqlite cordova ext插件来处理预先填充的sqlite数据库。
使用Ionic 2的新RC0,www文件夹在每次构建时都会完全重建。 以前你会把你的db文件留在www目录中,因为这是要读取的插件默认位置,但现在他们删除并重建整个www文件,不要将src文件移动到www。
那么有一种新方法可以在构建之后将此db文件复制到www文件夹中,防止它在构建或其他任何工作中被删除吗?
错误:没有错误处理程序的语句失败:sqlite3_prepare_v2失败:没有这样的表:Table_Name(...)
我的sqlite ext插件配置
<?php
$this->registerJs('
setInterval(function(){
$.pjax.reload({container:"YOUR_PJAX_CONTAINER_ID"});
}, 10000);', \yii\web\VIEW::POS_HEAD);
?>
答案 0 :(得分:0)
1)我安装了cordova-sqlite-ext插件
2)在app.component.ts中,我导入了import { SQLite } from 'ionic-native';
3)在platform.ready()中插入了:
let db = new SQLite();
db.openDatabase({
name: "data.db",
location: "default",
createFromLocation: 1
}).then(() => {
db.executeSql("SELECT * from config", []).then((data) => {
console.log("Data received: ", data);
}, (error) => {
console.error("Unable to execute sql", error);
})
}, (error) => {
console.error("Unable to open database", error);
});
4)我在package.json的同一路径创建一个名为copy.config.json的文件并插入:
module.exports = {
include: [
{
src: 'src/assets/',
dest: 'www/assets/'
},
{
src: 'src/index.html',
dest: 'www/index.html'
},
{
src: 'src/data.db',
dest: 'www/data.db'
},
{
src: 'src/service-worker.js',
dest: 'www/service-worker.js'
},
{
src: 'node_modules/ionic-angular/polyfills/polyfills.js',
dest: 'www/build/polyfills.js'
},
{
src: 'node_modules/ionicons/dist/fonts/',
dest: 'www/assets/fonts/'
},
]
};
5)在package.json文件中我插入了:
"config": {
"ionic_copy": "./copy.config.js"
},
在最后一行"description": "SqlProject: An Ionic project"
之前。
取自:Where to put SQLite databases on Ionic 2 RC0?:morris4ever69