将LoopBack应用程序连接到现有的MySQL数据库

时间:2018-07-30 20:56:58

标签: loopbackjs

我有一个本地MySQL数据库mydb。它包含一个名为person的表,其中包含字段id(主键,整数自动递增)和name(文本)。该表包含我不想删除的记录。

我想要一个LoopBack应用程序,该应用程序通过数据源mydb连接到myds。该应用程序应具有模型Person(扩展了PersistedModel)。 Person模型上的CRUD操作应反映在people的{​​{1}}表上。

如何构建应用程序?

1 个答案:

答案 0 :(得分:0)

使用应用程序生成器生成一个空的应用程序。

mydb

添加新的数据源:

>lb
? What's the name of your application? myapp 
? Enter name of the directory to contain the project: myapp
? Which version of LoopBack would you like to use? 3.x (current)
? What kind of application do you have in mind? empty-server

安装loopback-connector-mysql:

/* /server/datasources.json */
  "myds": {
    "host": "localhost",
    "port": 3306,
    "url": "",
    "database": "mydb",
    "password": "password",
    "name": "myds",
    "user": "root",
    "connector": "mysql"
  }

创建模型

> npm install loopback-connector-mysql --save

然后将模型附加到数据源。

/* /common/models/Person.json */
{
  "name": "Person",
  "plural": "People",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "id": {
      "type": "number",
      "required": true
    },
    "name": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

该应用程序已完成。要运行该应用,

/* /server/model-config.json */
{
  // ...
  "Person": {
    "dataSource": "myds",
    "public": true
  }
  //...
}

然后在浏览器中导航到> node . 。单击localhost:3000/explorer模型,然后单击路由GET Person,然后单击“尝试一下!”应用程序应从数据库返回/People表中的所有行。其他CRUD操作也应正常运行。

请注意,命名非常重要。当我们将名为person的模型连接到本身连接到数据库Person的数据源myds时,LoopBack会在mydb中查找名为mydb的表(这可能会交互(在您的MySQL安装中使用表名区分大小写),并以Person的属性作为其字段名。

相关问题