mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 00:33:37 +08:00
ed688bec8c
The seed-fu gem resets the sequence on all the tables it touches. In some situations, this can cause primary keys to be re-used. This commit introduces a freedom patch which ensures seed-fu only touches the sequence when it is less than the id of one of the seeded records.
20 lines
536 B
Ruby
20 lines
536 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe "seed-fu patch" do
|
|
it "does not modify a sequence on an existing table" do
|
|
u = User.create!(username: "test1", email: "test1@example.com")
|
|
uid1 = u.id
|
|
UserDestroyer.new(Discourse.system_user).destroy(u)
|
|
|
|
SeedFu.quiet = true
|
|
SeedFu.seed
|
|
|
|
# Ensure sequence was not reset. A new user should have
|
|
# id one greater than the last user
|
|
u2 = User.create!(username: "test1", email: "test1@example.com")
|
|
expect(u2.id).to eq(uid1 + 1)
|
|
end
|
|
end
|