У меня есть objectStore, созданный с помощью:
db.createObjectStore('mystore', {autoIncrement: true})
.createIndex('myindex', 'myindex', {unique: true});
Мне нужно изменить схему, чтобы использовать встроенные ключи, например:
db.createObjectStore('mystore', {autoIncrement: true, keyPath: 'seq'})
.createIndex('myindex', 'myindex', {unique: true});
Я не вижу способа изменить хранилище объектов таким образом внутри миграции.
1 ответ
К сожалению, первичный ключ хранилища объектов нельзя изменить после его создания.
Для миграции вам нужно будет создать новое хранилище с вашим встроенным ключом, а затем скопировать данные.
Я предполагаю, что это связано с вашим другим вопросом. Обратите внимание, что для использования put вам не нужны встроенные ключи. IDBIndex
также предоставляет метод put()
. Вы, вероятно, сможете добиться того, чего ищете, добавив новый индекс и используя его для put()
своих записей.
Похожие вопросы
Новые вопросы
html
HTML (язык разметки гипертекста) - это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы, касающиеся HTML, должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто используется вместе с [CSS] и [javascript].