Discovering models from relational databases(关系型数据库连接)

  • 简介
    • 基础步骤
  • discovery 案例
  • 添加 discovery 方法

简介

Loopback可以很方便地从现有的关系型数据库创建model, 这个过程被称为 discovery ,由以下连接器的支持.

  • MySQL 连接器
  • PostgreSQL 连接器
  • Oracle 连接器
  • SQL Server 连接器

对于像 Mongodb 的 NoSQl 数据库,使用 instance introspection 代替

基础步骤

按照以下基本步骤:

  1. 使用脚本如以下 discovery 的模式
  2. 使用fs.writeFile() 保存输出到 common/models/model-name.json
  3. 添加新的model 到 server/model-config.json
  4. 使用 node .启动应用
  5. 使用 LoopBack Explorer 验证

discovery 案例

下面代码使用了 Oracle 数据库,
第一步创建 Oracle 的数据源。
然后使用 discoverAndBuildModels()方法从 table 中创建model

  1. var loopback = require('loopback');
  2. var ds = loopback.createDataSource('oracle', {
  3. "host": "demo.strongloop.com",
  4. "port": 1521,
  5. "database": "XE",
  6. "username": "demo",
  7. "password": "L00pBack"
  8. });
  9. // 发现以及创建 models 从 INVENTORY 表, 是否有主键,外键
  10. ds.discoverAndBuildModels('INVENTORY', {visited: {}, associations: true},function (err, models) {
  11. // 这里我们可以使用 models 方法了
  12. // 测试model 方法是否能使用
  13. models.Inventory.findOne({}, function (err, inv) {
  14. if(err) {
  15. console.error(err);
  16. return;
  17. }
  18. console.log("\nInventory: ", inv);
  19. // Navigate to the product model
  20. inv.product(function (err, prod) {
  21. console.log("\nProduct: ", prod);
  22. console.log("\n ------------- ");
  23. });
  24. });
  25. });

添加 discovery 方法

案例

添加检测方法