【问题标题】:Generate auto increment id from JSON schema faker从 JSON 模式伪造者生成自动增量 ID
【发布时间】:2018-09-05 03:33:36
【问题描述】:

我正在寻找通过 ID 从 0 递增的 JSON 模式 faker js 生成数据的方法。 当我尝试在架构中使用 autoIncrement 参数时,我得到了有效值,但是这个自动增量是从随机数开始的。 这个包可以做到吗?

【问题讨论】:

    标签: json schema faker mockups


    【解决方案1】:

    对于任何寻找更新答案的人,您现在可以在架构中设置一个“initialOffset”值作为起始值

    【讨论】:

      【解决方案2】:

      我没有找到该问题的官方解决方案,但这里有一个解决方法。

      json-schema-faker的用于生成自增整数的源代码(node_modules\json-schema-faker\lib\index.js)解释了为什么它从一个随机整数开始:

      // safe auto-increment values
      container.define('autoIncrement', function (value, schema) {
          if (!this.offset) {
              var min = schema.minimum || 1;
              var max = min + env.MAX_NUMBER;
              this.offset = random$1.number(min, max);
          }
          if (value === true) {
              return this.offset++;
          }
          return schema;
      });
      

      设置初始值的是if (!this.offset) 分支。为了实现我们的目标,我们可以像这样修改分支内的代码:

      if (!this.offset) {
          var min = schema.minimum || 1;
          // var max = min + env.MAX_NUMBER;
          // this.offset = random$1.number(min, max);
          this.offset = min;
      }
      

      在架构中指定minimum 时,其值将用作起点。否则,将使用1

      另外值得注意的是,如果你指定minimum 的数字非常大,那么自动递增将不再是“安全的”。

      【讨论】:

        猜你喜欢
        • 2018-03-13
        • 1970-01-01
        • 2016-09-27
        • 2017-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-06
        • 2016-04-05
        相关资源
        最近更新 更多