I’ve needed to make a new record have a specific ID in the past. This was an issue becuase ID is attr_protected.

We have two ways we can do this. But I recommend the Method 1 because it only uses one database call and won’t auto-increment the id column in the table.


# Method 1
post = Post.new({content: "my post content"})
post.id = 10
post.save

# Method 2
Post.create({content: "my post content"}){|post| post.id = 10}


Related External Links: