如何覆盖种子文件中的顺序ID分配?

时间:2014-07-07 21:59:07

标签: sqlite ruby-on-rails-3.2

我有以下种子文件条目:

shapes = Shape.create([
  {
    id: 1,
    name: 'Rectangle',
    surface_count: 4,
    created_at: Time.now,
    updated_at: Time.now
  },
  {
    id: 3,
    name: 'H-shape',
    surface_count: 12,
    created_at: Time.now,
    updated_at: Time.now
  }
])

当我为我的SQLite数据库播种时,我最终会得到两行,其中有一行和两行,而不是一行和三行。这只是一个样本。实际的表格要大得多。我正在尝试让我的测试环境与我的生产环境相匹配,其中第二行刚被删除,其余行保持原样。

1 个答案:

答案 0 :(得分:1)

Sqlite允许您通过在insert语句中包含该字段来覆盖自动增量。

根据您的描述,您的实际插入语句似乎不包括id,而您的id定义为autoincrement。如果您使用某种框架来序列化,那么您需要了解它在那里的定义以及它如何处理自动增量字段。跟踪实际的SQL语句应该告诉你。