代码之家  ›  专栏  ›  技术社区  ›  ivme

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

  •  0
  • ivme  · 技术社区  · 6 年前

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

    我想要一个连接到 数据库 通过数据源 myds . 应用程序应该有一个模型 Person (延伸 PersistedModel ). 上的积垢操作 模型应该反映在 people 数据库 .

    如何构建应用程序?

    1 回复  |  直到 6 年前
        1
  •  0
  •   ivme    6 年前

    使用应用程序生成器生成空应用程序。

    >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
    

    添加新数据源:

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

    安装环回连接器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 在浏览器中。点击 Person 模型,然后单击路线获取 /People ,然后单击“试用!”应用程序应返回 person 数据库中的表。其他CRUD操作也应该正常工作。

    请注意,命名非常重要。当我们连接一个名为 以及数据源 myds ,它本身连接到数据库 mydb ,LoopBack查找名为 在mydb中(这可能与MySQL安装中表名的大小写敏感度交互),具有 作为它的字段名。