【问题标题】:using faker seeds with sequelize.js: a column value based on the value of other column value在 sequelize.js 中使用 faker 种子:基于其他列值的列值
【发布时间】:2021-07-28 18:48:18
【问题描述】:
function deptTypes(items) { 
  return items[Math.floor(Math.random()*items.length)]; 
}
var items = ["a", "b","c","d","e","f"]; 
await queryInterface.bulkInsert('reviews', [...Array(50)].map((review) => (
  {
    user_id: users[Math.floor(Math.random()*users.length)].id, 
    title: faker.name.title(), 
    review: faker.lorem.sentences(6), 
    rating: Math.round(Math.random()*5),
    department_type: deptTypes(items), 
    department_uid: (deptTypes(items) == 'a' ) ? alist[Math.floor(Math.random()*alist.length)].id 
                      :(deptTypes(items) == 'b' ) ? blist[Math.floor(Math.random()*blist.length)].id
                        : (deptTypes(items)== 'c') ? clist[Math.floor(Math.random()*clist.length)].id 
                          : (deptTypes(items) == 'd') ? dlist[Math.floor(Math.random()*dlist.length)].id
                            : (deptTypes(items) == 'e') ? elist[Math.floor(Math.random()*elist.length)].id
                              : flist[Math.floor(Math.random()*flist.length)].id, 
    created_at: new Date(),
    updated_at: new Date()
  }
)), {});

我正在尝试的是我需要分配给 department_type 的相同 deptType 项目并根据 department_typedepartment_uid 一个值,但我没有得到想要的结果...请帮助

【问题讨论】:

  • const dept = deptTypes(items);在顶部,然后在您拥有 deptTypes(items) 的任何地方使用 dept。否则每次调用 deptTypes 都会给你一个不同的随机数。
  • 谢谢,但我已经按照你所说的那样尝试过......它提供了一个带有 department_type 列的表,其中包含 50 行中的相同项目,所以这不起作用,我需要的是一个 department_type 应该是分配一个随机值,department_uid 应该给出相同项目的 id
  • 抱歉 - 声明需要在 map 函数中。

标签: javascript sequelize.js sequelize-cli faker.js


【解决方案1】:

在 map 函数的顶部,声明一个变量,该变量将作为本次迭代的部门:

await queryInterface.bulkInsert('reviews', [...Array(50)].map((review) => {

  const dept = deptTypes(items);

  return {
    user_id: users[Math.floor(Math.random()*users.length)].id, 
    title: faker.name.title(), 
    review: faker.lorem.sentences(6), 
    rating: Math.round(Math.random()*5),
    department_type: dept,
    department_uid: (dept == 'a' ) ? alist[Math.floor(Math.random()*alist.length)].id 
                      :(dept == 'b' ) ? blist[Math.floor(Math.random()*blist.length)].id
                        : (dept == 'c') ? clist[Math.floor(Math.random()*clist.length)].id 
                          : (dept == 'd') ? dlist[Math.floor(Math.random()*dlist.length)].id
                            : (dept == 'e') ? elist[Math.floor(Math.random()*elist.length)].id
                              : flist[Math.floor(Math.random()*flist.length)].id, 
    created_at: new Date(),
    updated_at: new Date()
  };
}), {});

【讨论】:

  • 谢谢你,james ...这对解决问题很有帮助
猜你喜欢
  • 2022-08-11
  • 2021-04-11
  • 2012-10-13
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
相关资源
最近更新 更多