Петля 4: как получить доступ к таблице с подчеркиванием в имени из петли 4?

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

У меня есть таблица с именем «my_data», которая содержит столбец: - id, first_name, last_name. Но когда я использую команду lb4 model и передаю имя модели как my_data, она преобразует его в my-data. а позже, когда я вызываю API, он выдает ошибку, говоря, что отношение publi.mydata не существует.

WARNING: relational database doesn't support {strict: false} mode. {strict: true} mode will be set for model MyData instead.
Unhandled error in GET /my_data?filter=%7B%0A%20%20%22fields%22%3A%20%7B%0A%20%20%20%20%22id%22%3A%20true%2C%0A%20%20%20%20%first_name%22%3A%20true%2C%0A%20%20%20%20%22additionalProp1%22%3A%20%7B%7D%0A%20%20%7D%0A%7D: 500 error: relation "public.mydata" does not exist
    at Connection.parseE (/Users/apple/others/loopback4/hello/node_modules/pg/lib/connection.js:614:13)
    at Connection.parseMessage (/Users/apple/others/loopback4/hello/node_modules/pg/lib/connection.js:413:19)
    at Socket.<anonymous> (/Users/apple/others/loopback4/hello/node_modules/pg/lib/connection.js:129:22)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:297:12)
    at readableAddChunk (_stream_readable.js:273:9)
    at Socket.Readable.push (_stream_readable.js:214:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)

Есть ли способ получить данные из таблицы с таким именем? Если кто-нибудь знает, как это сделать, дайте мне знать.


person Raman    schedule 09.06.2020    source источник


Ответы (1)


Используйте settings.table в декораторе @model:

@model({
  settings: {
    table: 'my_data',
  },
})

дальнейшее чтение

person Rifa Achrinza    schedule 09.06.2020
comment
это не помогло, поскольку я все еще получаю эту ошибку: - Ошибка 500: связь public.mydata не существует. Изменено на это: @model ({settings: {schema: 'public', table: 'my_data', strict: true}}) - person Raman; 09.06.2020
comment
работаю сейчас. Перед ним необходимо указать название разъема. Как это: - @model ({settings: {postgresql: {schema: 'public', table: 'auth_control', strict: true}}}) - person Raman; 09.06.2020
comment
@model ({name: 'my_data'}) должен работать, именно так я отображаю свои таблицы в postgres. - person hazimdikenli; 10.06.2020