更改数据源似乎对环回4没有任何影响

时间:2019-09-11 21:22:47

标签: javascript loopbackjs loopback4

我想在开发和生产之间使用相同的数据源名称(“ db”),但使用不同的连接器(用于dev的内存,用于生产的mongo)。

这是我当前的解决方法( db.datasource.ts ):

import { inject } from '@loopback/core';
import { juggler } from '@loopback/repository';
import * as configDevelopment from './db.datasource.json';
import * as configProduction from './db.datasource.production.json';
const config = process.env.NODE_ENV === 'production' ? configProduction : configDevelopment;

export class DbDataSource extends juggler.DataSource {
  static dataSourceName = 'db';

  constructor(
    @inject('datasources.config.db', { optional: true })
    dsConfig: object = config,
  ) {
    super(dsConfig);
  }
}

(我从CLI生成的默认值中唯一更改的是第3-5行)

当我更改NODE_ENV并重新加载服务器并检查数据库的内容时,生产和开发之间没有任何区别。我什至没有在本地安装Mongo,但是加载Mongo配置文件似乎不会引发错误。将config设置为{}时,也没有看到错误。

db.datasource.ts 正在加载,并且正在加载正确的配置文件,但是前端似乎没有任何更改。无论我将localhost:3000/<whatever-endpoint>设置为什么,都可以在config看到相同的数据。

我是否还在找对地方?我以为自己在解决问题的正确方法上,因为我确实知道它是not supported officially

0 个答案:

没有答案