CRUD notes - Создание идентификатора в автономном режиме для заметок - PullRequest
0 голосов
/ 02 февраля 2019

Я создаю приложение для заметок, в котором я использую базу данных MySQL для хранения заметок.Приложение должно иметь возможность хранить заметки в автономном режиме (PWA).

У меня есть одна таблица, где будут храниться все заметки для всех пользователей.Теперь мне интересно, каков наилучший способ создания идентификатора заметок?

Вариант 1: автоинкрементный столбец MySQL.

Недостатком этого подхода является то, что, если кто-то создает заметку в автономном режиме, в приложении могут быть повторяющиеся идентификаторы, когда приложение синхронизирует заметки.Это может быть предотвращено, чтобы дать этому дубликату новый идентификатор и синхронизировать его с пользователем.

Опция 2: Используйте функцию UID, подобную приведенной ниже.

Недостатком этого является то, что существует очень малая вероятность того, что UID будет дублироваться с тем, который уже сохранен в БД.То же самое, что и в варианте 1. Затем я могу создать новый идентификатор, который является уникальным на стороне сервера, и синхронизировать его с приложением пользователя.

let S4 = function () {
            return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
        };
let id = (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
example output: c62a85d6-4e93-e443-8533-56a895d7e013

Что, по вашему мнению, является лучшим подходом для этого?У вас есть какие-либо предложения или совершенно разные способы сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...