У меня есть objectStore, созданный с помощью:

    db.createObjectStore('mystore', {autoIncrement: true})
      .createIndex('myindex', 'myindex', {unique: true});

Мне нужно изменить схему, чтобы использовать встроенные ключи, например:

    db.createObjectStore('mystore', {autoIncrement: true, keyPath: 'seq'})
      .createIndex('myindex', 'myindex', {unique: true});

Я не вижу способа изменить хранилище объектов таким образом внутри миграции.

0
Dale Harvey 21 Мар 2014 в 20:20

1 ответ

Лучший ответ

К сожалению, первичный ключ хранилища объектов нельзя изменить после его создания.

Для миграции вам нужно будет создать новое хранилище с вашим встроенным ключом, а затем скопировать данные.

Я предполагаю, что это связано с вашим другим вопросом. Обратите внимание, что для использования put вам не нужны встроенные ключи. IDBIndex также предоставляет метод put(). Вы, вероятно, сможете добиться того, чего ищете, добавив новый индекс и используя его для put() своих записей.

2
Community 23 Май 2017 в 14:49
1
Да, это связано, большое спасибо, я отвечу на другой вопрос, который мне нужно было знать и на который я все равно ответил, ура
 – 
Dale Harvey
21 Мар 2014 в 21:27