Chcę korzystać z konfiguracji źródła danych o różnych środowiskach w aplikacji Strongloop. Widziałem na https://docs.strongloop.com/display/public/LB/Environment-specific+configuration że priorytetem konfiguracjach są:Aplikacja Strongloop nie ładuje lokalnego źródła danych
- środowiska specyficzne dla konfiguracji, w oparciu o wartości NODE_ENV; na przykład, server/config.staging.json.
- Lokalny plik konfiguracyjny; na przykład, server/config.local.json.
- Domyślny plik konfiguracyjny; na przykład, server/config.json.
mam zadeklarowane trzy DataSource pliki conf: datasources.json:
{}
datasources.local.json:
{
"db": {
"name": "db",
"connector": "loopback-connector-mongodb",
"host":"127.0.0.1",
"port": "27017",
"database": "woowDev"
}
}
i datasources.staging.js:
module.exports = {
db: {
connector: 'mongodb',
hostname: process.env.OPENSHIFT_MONGODB_DB_HOST,
port: process.env.OPENSHIFT_MONGODB_DB_PORT,
user: process.env.OPENSHIFT_MONGODB_DB_USERNAME,
password: process.env.OPENSHIFT_MONGODB_DB_PASSWORD,
database: 'woow'
}
};
Teraz, chyba że ustawię konfigurację datasources.local.json w datasources.json, to nie działa. Wciąż dostaję błąd: AssertionError: User is referencing a dataSource that does not exist: "db"
Próbowałem również dodać lokalny conf do inscenizacji conf i zdefiniowałem zmienną NODE_ENV, ale nie załadowałbym ani datasource.staging.js. I zdefiniował NODE_ENV wykonując:
export NODE_ENV=staging
Hmm ... co jeśli usuniesz w przeciwnym razie pusty plik 'datasources.json'? – jakerella
próbowałem, nie działa, co jeszcze mogę spróbować? – Sanandrea
Czy to możliwe, że twoje obecne środowisko jest w rzeczywistości "inscenizacją"? Widzę, że plik konfiguracyjny datasource * nie ma * właściwości 'name' w definicji. Potrzebowałby tego niezależnie. – jakerella