如何在 knex.js 模式的增量列中添加一个字母?

Posted

技术标签:

【中文标题】如何在 knex.js 模式的增量列中添加一个字母?【英文标题】:How do I add a letter to the increments column of a knex.js schema? 【发布时间】:2019-12-22 22:03:40 【问题描述】:

我希望在增量列的前/后添加一个字母,以提供 I1、I2、I3 等的 ID,而不仅仅是一个整数。请参阅下面的迁移。

return knex.schema.createTable("ingredients", ingredientsTable => 
    ingredientsTable.increments("ingredient_id").primary();
    ingredientsTable
      .string("ingredient_name")
      .notNullable()
      .unique();
    ingredientsTable.string("ingredient_unit");
  );

提前致谢。

【问题讨论】:

【参考方案1】:

只要它们的索引类型是整数,这是不可能的。您可能会将ingredients_id 更改为字符串,但我认为您需要一个非常有说服力的案例来这样做。使用字符串作为 ID 并不少见,但如果我们使用 UUID,通常我们会选择这样做。

【讨论】:

以上是关于如何在 knex.js 模式的增量列中添加一个字母?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 knex.js 迁移中链接承诺

如何将字符集添加到 Knex.js 连接字符串?

带有 Express 的 Knex.js,如何在 knex.commit 后跟 knex.select 查询?

如何在 Knex.js 中正确设置“updatedAt”时间戳?

无法使用 knex.js 中的连接复制 PostgresQL 查询

如何在 knex.js 中的“join”的“on”条件下使用“and”