Следуя моему предыдущему вопросу here, есть ли способ иметь такое же поведение, как ON DELETE CASCADE
(MySQL) с JayData?Удалить каскад JayData
Если я удалю тест, я бы хотел, чтобы все связанные главы и чеки были удалены. Я пробовал этот код:
myDB.onReady(function(){
myDB.Tests.filter(function(test) { return test.Name == this.Name; }, {Name: myTest.Name}).forEach(function(test){
console.log('Starting to remove '+test.Name);
myDB.Tests.remove(test);
myDB.saveChanges(function() {
console.log(test.Name+' removed');
});
});
});
Но он не удаляет детей. Может ли это быть связано с объявлением Chapters
и Checks
в контексте? Вероятно, JayData не видит их как детей, а как независимые объекты.
Я также где-то видел, что для выполнения каскадных операций с SQLite требуется некоторая конфигурация. Я догадался, что JayData справится с этим.
Прошу прощения, ваш ответ довольно неясен. Имеет ли indexedDb это или нет ('indexedDb имеет встроенную функцию, но indexedDb hasn't')? В любом случае, я сделал запрос на эту функцию в вашем отставании. – Maxbester
Извините, исправил его, так что у websql/sqlite эта функция встроена, indexeddb этого не делает, мы пытаемся иметь общий api, поэтому для indexeddb нам придется реализовать его самостоятельно. Кроме того, у sqlite есть эта функция с версии X, поэтому, возможно, нам придется реализовать это для sqlite также для старых телефонов ... –
Хорошо и что такое синтаксис для удаления каскада в websql/sqlite? Это делается автоматически? Думаю, я могу дождаться, когда вы его реализуете для IndexedDb. На данный момент я буду использовать websql, так как приложение будет запущено только в Chrome и Safari. – Maxbester