Я только что установил Loopback4 (на основе TS), и я пытаюсь поиграть с ним, так как кажется очень простым создать API с его помощью. Мой вопрос довольно простой (но я не знаю ответа). Как я могу увеличить идентификатор моей модели?
Допустим, у меня это есть в моей модели (созданной с помощью lb4 model) ->
export class Post extends Entity {
@property({
type: 'number',
id: true,
required: false,
})
Id: number;
Первое сообщение (без добавления ID) создает его с Id = 0. Следующего сообщения нет, так как Id не увеличивается автоматически.
Любой совет о том, как это сделать? Я использую MySQL, как указано в моем заголовке, и LB4.
Обновлено: Или даже лучше, есть ли способ изменить способ создания таблиц Loopback4 (loopback-next)? Есть одна команда, которую нужно будет запустить после создания таблиц БД, что-то вроде ALTER TABLE post CHANGE Id Id INT(11) NOT NULL AUTO_INCREMENT;
Я продолжаю искать в дереве вариантов, но не нашел ничего подходящего и не думаю, что подключение к базе данных отдельно для этой задачи - хорошая идея.
Это может сработать, однако я не слишком опытен в MySQL, и я не уверен, как это сделать, и есть ли какие-либо недостатки в этом. Поскольку создание БД и строк выполняется на 100% LoopBack4, я думаю, что было бы лучше увеличить его, а не MySQL.






Исправлено благодаря github. Судя по всему, он очень похож на LB3 (которым я не пользовался).
@property({
type: 'number',
id: true,
generated: true,
})
Id: number;
Добавление generated: true включает автоинкремент в mysql.
Я создал таблицу, и свойство id изначально не имело сгенерированного свойства, и миграция, по-видимому, не проверяет это на postgresql, действительно удаляла таблицу, повторно запускала миграцию, после этого все работало нормально.
А как насчет использования
AUTO_INCREMENTв MySQL? Нравится:id INT NOT NULL AUTO_INCREMENT?