
Теперь, когда вы знаете, как быстро создавать REST API поверх баз данных всего за 5 шагов из этого руководства, вы могли заметить, что LoopBack принимает модели и имена свойств модели в качестве имени таблицы и столбца базы данных, соответственно. В этой статье показано, как настроить сопоставление между моделями и базами данных.
Для запуска приложения см. Репо: https://github.com/dhmlau/loopback4-example-todo-customized. Я проверил пример с помощью коннектора PostgreSQL, но он должен работать аналогично для других коннекторов.
Базовый пример
После запуска CLI генератора моделей `lb4 model` для создания модели LoopBack 4 ваш файл model.ts, вероятно, будет выглядеть примерно так:
@model() export class Todo extends Entity { @property({ type: 'number', id: true, }) id?: number; @property({ type: 'string', required: true, }) title: string; //... }
Без какой-либо настройки ожидается, что имя базы данных будет Todo, а со столбцами (если в реляционной базе данных) будут id и title.
Что, если имя моей таблицы базы данных отличается от имени модели?
С помощью параметров, связанных с источником данных, вы можете указать имя схемы базы данных под ключом с именем типа соединителя.
Внутри декоратора @model укажите в settings:
- тип разъема
- имя таблицы базы данных, которую вы хотите сопоставить
См. Пример ниже:
@model({ settings: { postgresql: { //type of the connector, NOT datasource name table: 'TODO_123', //table name you want to map to }, }, }) export class Todo extends Entity {
Для других вариантов, пожалуйста, обратитесь к https://loopback.io/doc/en/lb3/Model-definition-JSON-file.html.
Что, если имя столбца моей таблицы отличается от имени свойства модели?
Мы вас прикрыли. Внутри декоратора property укажите:
- тип разъема
- имя столбца вашей таблицы базы данных
@property({ type: 'string', required: true, postgresql: { //type of the connector columnName: 'TODO_TITLE', //column name in the database }, }) title: string;
Хотите узнать больше о LoopBack?
Попробуйте v4.loopback.io!
Не забывайте подписываться на нас: