【问题标题】:Can not created the Datasource with mysql无法使用 mysql 创建数据源
【发布时间】:2019-12-07 06:31:01
【问题描述】:

我正在使用 mysql 创建环回应用程序。我设置数据源将是 mysql,但是当我运行应用程序时,我在控制台窗口中出现以下错误。

ReferenceError:无法创建数据源“shop”:无法初始化连接器“mysql”:未定义时间

这是我的 datasource.json 代码。

{
  "db": {
    "name": "db",
    "connector": "memory"
  },
  "shop": {
    "host": "localhost",
    "port": 8081,
    "url": "",
    "database": "shoppingdatabase",
    "password": "",
    "name": "shop",
    "user": "root",
    "connector": "mysql",
    "connectTimeout":9000000
  }
}

这是model.json的代码

{
  "_meta": {
    "sources": [
      "loopback/common/models",
      "loopback/server/models",
      "../common/models",
      "./models"
    ],
    "mixins": [
      "loopback/common/mixins",
      "loopback/server/mixins",
      "../common/mixins",
      "./mixins"
    ]
  },
  "User": {
    "dataSource": "db"
  },
  "AccessToken": {
    "dataSource": "db",
    "public": false
  },
  "ACL": {
    "dataSource": "db",
    "public": false
  },
  "RoleMapping": {
    "dataSource": "db",
    "public": false,
    "options": {
      "strictObjectIDCoercion": true
    }
  },
  "Role": {
    "dataSource": "db",
    "public": false
  },
  "carts": {
    "dataSource": "shop",
    "public": true
  },
  "products": {
    "dataSource": "shop",
    "public": true
  },
  "users": {
    "dataSource": "shop",
    "public": true
  },
  "vendors": {
    "dataSource": "shop",
    "public": true
  }
}

这是我运行服务器时的屏幕截图。

【问题讨论】:

  • 请任何人知道此错误的解决方案???
  • 这似乎是mysql连接器内部的一些问题,您可以尝试使用最新版本的mysql连接器吗?
  • 我在构建应用程序时安装 MySQL 连接器 5 版本
  • 删除 node_modules 文件夹,运行 npm install 然后尝试运行应用程序。
  • 在 node.mudule 文件夹中,我更改了连接超时属性。如果您告诉我删除此文件,我将如何与数据库建立连接??

标签: mysql loopback


【解决方案1】:

将您的 datasource.json 更改为:

    {
      "db": {
      "host": "localhost",
      "port": 3306,
      "url": "",
      "database": "shoppingdatabase",
      "password": "",
      "name": "db",
      "user": "root",
      "connector": "mysql",
      "connectTimeout":9000000
     }
   }

model.json 为

    {
     "_meta": {
     "sources": [
       "loopback/common/models",
       "loopback/server/models",
       "../common/models",
       "./models"
      ],
     "mixins": [
       "loopback/common/mixins",
       "loopback/server/mixins",
       "../common/mixins",
       "./mixins"
      ]
    },
    "User": {
     "dataSource": "db"
    },
    "AccessToken": {
     "dataSource": "db",
     "public": false
    },
    "ACL": {
     "dataSource": "db",
     "public": false
    },
    "RoleMapping": {
     "dataSource": "db",
     "public": false,
     "options": {
       "strictObjectIDCoercion": true
      }
    },
    "Role": {
     "dataSource": "db",
     "public": false
    },
    "carts": {
     "dataSource": "db",
     "public": true
    },
    "products": {
     "dataSource": "db",
     "public": true
    },
    "users": {
     "dataSource": "db",
     "public": true
    },
    "vendors": {
     "dataSource": "db",
     "public": true
    }
  }

在此之前在 MySQL 中手动创建一个名为“shoppingdatabase”的数据库,因为环回需要预先创建数据库。 并保持密码保护。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多