YDN-DBの起動に問題があります。つまり。スキームを設定し、データベースを初期化しましたが、インスタンス化すると「ConstraintError: DOM Exception IDBDatabase 0」というエラーがスローされます。イベントハンドラーで「失敗」すると、「アップグレードが必要なイベントハンドラーでバージョン変更トランザクションが中止されました。」このリンクで見つけた問題について読んでください。「onupgradeneeded」をトリガーするイベントを割り当てる方法が見つかりません。それで問題は解決すると思います
コードを残します:
var shopgroups_schema = {
name: 'shopgroups',
keyPath: 'id_shop_group',
autoIncrement: true,
indexes: [
{keyPath: 'id_shop_group'},
{keyPath: 'name'},
{keyPath: 'share_customer'},
{keyPath: 'share_order'},
{keyPath: 'share_stock'},
{keyPath: 'active'},
{keyPath: 'deleted'},
{keyPath: 'date_add'},
{keyPath: 'date_upd'},
{keyPath: 'date_upd'}
]
};
var shops_schema = {
name: 'shops',
keyPath: 'id_shop',
autoIncrement: true,
indexes: [
{keyPath: 'id_shop'},
{keyPath: 'id_shop_group'},
{keyPath: 'name'},
{keyPath: 'id_category'},
{keyPath: 'id_theme'},
{keyPath: 'active'},
{keyPath: 'deleted'},
{keyPath: 'date_add'},
{keyPath: 'date_upd'}
]
};
var schema = {
stores: [shopgroups_schema, shops_schema]
};
var schemaName = 'chollingApp4';
var db = new ydn.db.Storage(schemaName, schema);
db.addEventListener('error', function (event) {
var e = event.getError();
// common errors are AbortError, ConstraintError and UnknownError (possibliy for Quota exceed error).
// log error for debugging
console.log('connection failed with ' + e.name);
});
db.addEventListener('fail', function (event) {
var err = event.getError();
console.log(event);
console.log(err);
console.log('connection failed with ' + err.name + ' by ' + err.message);
db = null; // no operation can be placed to the database instance
});
db.addEventListener('ready', function (event) {
var is_updated = event.getVersion() != event.getOldVersion();
if (is_updated) {
console.log('database connected with new schema');
} else if (isNaN(event.getOldVersion())) {
console.log('new database created');
} else {
console.log('existing database connected');
}
// heavy database operations should start from this.
});