1

我不知道我需要什么的正确术语,所以我会尽量解释清楚。

在 CLI中,sequelize-cli您可以运行其中一个sequelize db:createsequelize db:drop. 我想创建两个原理图,其第一部分本身就是一个命令,但是如果添加第二部分,它将执行不同的原理图。

具体来说,我想:

  • 运行mySchematic:migration并创建大量文件。
  • 运行mySchematic:migration:express它只会为 express 创建迁移。
  • 运行mySchematic:migration:hapi它只会为 hapi 创建迁移。

我知道如何实现该功能,但我无法让它执行不同的命令。当我运行时mySchematic:migration:hapi,执行的原理图总是mySchematic:migration.

这是我的collection.json

{
  "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
  "schematics": {
    "migration": {
      "description": "description.",
      "factory": "./migrations/index#migration",
      "schema": "./migrations/migration-schema.json"
    },
    "migration:express": {
      "description": "description.",
      "factory": "./migrations/index#express",
      "schema": "./migrations/express-schema.json"
    },
  },
  "migration:hapi": {
    "description": "description.",
    "factory": "./migrations/index#hapi",
    "schema": "./migrations/hapi-schema.json"
  },
}

更改原理图的顺序也不起作用。

我也试过这个,但也没有用:

{
  "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
  "schematics": {
    "migration": {
      "description": "description.",
      "factory": "./migrations/index#migration",
      "schema": "./migrations/migration-schema.json",
      "express": {
        "description": "description.",
        "factory": "./migrations/index#express",
        "schema": "./migrations/express-schema.json"
      },
      "hapi": {
        "description": "description.",
        "factory": "./migrations/index#hapi",
        "schema": "./migrations/hapi-schema.json"
      }
    }
  }
}
4

0 回答 0