环回:如何确保将值发送到本地数据库,而不是远程数据库?

Posted

技术标签:

【中文标题】环回:如何确保将值发送到本地数据库,而不是远程数据库?【英文标题】:loopback: how do I make sure that values are sent to the local db, not the remote db? 【发布时间】:2019-09-30 02:47:43 【问题描述】:

我有一个在本地运行的 api 服务器版本。在 react-native 应用程序中,我已将远程服务器的 BASEURL 指向我的本地地址。从那里,我通过

启动服务器

节点。

尽管我能够登录/创建一个新帐户,但我注意到我创建的新帐户中的所有数据仅保存在数据库的远程版本上,而不是本地版本上。如果我的 BASEURL 指向我的本地地址并且不再指向远程服务器,那么新的 Account 数据怎么会出现在远程数据库而不是本地数据库上?

这是服务器堆栈信息 -服务器操作系统 - Ubuntu 16.04

-Web 服务器 - nginx

-服务器应用程序 - Loopback.js 和 PM2

-数据库-MariaDB

我还通过 mysql.server start 运行本地版本的 mysql。

这是我的 config.js 文件中的内容

export const SERVERCONFIG = 
    BASEURL: 'http://192.000.0.0:3000',
    // BASEURL: 'https://app.someapp.com',
    HEADERS: 
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    ,
    TIMEOUT_DURATION: 30000,
;

在 api 服务器上我的 datasources.json 文件:


  "db": 
    "name": "db",
    "connector": "memory"
  ,
  "mysql": 
    "host": "xx.xxx.xxx.xx",
    "port": 3306,
    "url": "",
    "database": "somedb",
    "password": "somepassword",
    "name": "mysql",
    "user": "root",
    "connector": "mysql"
  

我的 datasources.localdev.json 看起来像这样


    "db": 
        "name": "db",
        "connector": "memory"
    ,
    "mysql": 
        "host": "XXX.XXX.X.X",
        "port": 3306,
        "url": "",
        "database": "somedb",
        "password": "somepassword",
        "name": "mysql",
        "user": "root",
        "connector": "mysql"
    

我需要更改我的 api 服务器文件中的某些内容吗?

【问题讨论】:

您可以发布您尝试过的代码吗?? 不确定我添加的内容是否有帮助,但我确实添加了一些其他信息。我需要更改我的 api 服务器文件中的某些内容吗? 【参考方案1】:

datasources.localdev.json 重命名为 datasources.local.js 或只是 datasources.json 并重新启动服务器。

【讨论】:

以上是关于环回:如何确保将值发送到本地数据库,而不是远程数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C 中获取我的非环回网络 IP 地址?

Linux本地环回地址lo

如何从远程 SSH 会话将数据发送到本地剪贴板

如果启用了环回,为啥发送方收不到它的多播 UDP 数据包?

提供智能手机和网络应用程序时如何确保本地和远程数据库之间的数据一致性

如何将TCP数据包发送到iPhone而不是ICMP数据包