Позвольте мне попытаться помочь вам с некоторыми из них.
1 - загрузку конфигурации ds на основе env можно добавить, добавив ниже в конструктор файла datasource.ts.
constructor(
@inject('datasources.config.pgdb', {optional: true})
dsConfig: object = config,
) {
// Override data source config from environment variables
Object.assign(dsConfig, {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
schema: process.env.DB_SCHEMA,
});
super(dsConfig);
}
После этого вы можете использовать такие пакеты, как dotenv , чтобы сохранить env vars в вашем репо.
2 - Используйте dotenv . Загрузите конфигурацию dotenv в application.ts. Добавьте это в конец application.ts.
dotenv.config();
Возможно, вам понадобится импортировать дотену, как это
import * as dotenv from 'dotenv';
3 - Не уверен в этом, но проверьте, поддерживается ли он в генераторе источника данных здесь .
4 - В настоящее время поддерживаются только 3 типа отношений. И, по моему опыту, этого достаточно для большинства приложений - принадлежит HasMany, hasOne. Для получения дополнительной информации см. Документы здесь .
5 - Вы можете вернуть любую понравившуюся вам модель. Просто убедитесь, что он расширяет класс Entity из @ loopback / repository. Также убедитесь, что вы определяете типы свойств с помощью @property decorator.
6 - Вы можете переместить свою бизнес-логику в классы обслуживания или создать поставщиков. Раньше мы хранили специфическую операционную логику БД, такую как пользовательские запросы и т. Д., В хранилище и в остальной части бизнес-логики внутри контроллера. Но если есть большая сложная логика, создайте класс провайдера и сделайте там. См. Документы для поставщиков здесь .
Мы также создали стартовый проект котельной пластины на github, чтобы помочь таким участникам сообщества, как вы, начать работу с некоторыми базовыми вещами. Большая часть вышеупомянутого материала реализована там. Вы можете просто клонировать его, изменить удаленный URL и все готово к работе. Взгляните здесь .