Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3605018
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T21:04:17+00:00 2026-05-18T21:04:17+00:00

I am having problem with how the primary key gets incremented when I delete_all

  • 0

I am having problem with how the primary key gets incremented when I delete_all from a table and start inserting again. This is problematic because I have other models that are associated with the purged table. For example, if I have Apple that belongs_to Computer, then when I purge the Computer table and re-add the computer, the associations get messed up because Apple now has infant computer_id in its rows. I want to be able to reset the primary key of the computer so that when I re-add the computer, the association still stays intact. How should I go about doing this in rails?

Edit
I am very sorry for not being clear about this, but now I will tell you want I want to do. I want a user to be associated with a machine (computer). A computer has his own id and can only be created by the admin. There are a fixed amount of computer in the computer table.

User
belongs_to :computer

Computer
has_many :users

The problem that I am facing is that, I have the computer table pre-loaded inside seeds.rb/some rakefile. When I start up my app, I want to just run the file that first deletes everything and then pre-loads the table. This will let the user choose a computer only from the ones provided in the computer table. I want to be able to run this script again (say in heroku console, without dropping the User table) and still get the same id associated to each machine (and thus to each user). I am confused on how I should do this. Please let me know if I should do this differently.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T21:04:18+00:00Added an answer on May 18, 2026 at 9:04 pm

    First, you shouldn’t do it! If you want to change record, then just update rows in your table. Don’t delete it and reinsert it! If you still want to do it, then you should delete all associated rows in other tables and insert both computers and apples.

    I don’t know Rails way of reseting auto increment primary key, but if you use mysql then you can run custom query:

    ActiveRecord::Base.connection.execute('ALTER TABLE tablename AUTO_INCREMENT = 1')
    

    it should reset auto increment value to next available number.

    EDIT:

    How to load data with id.
    I’m not sure if loading with seeds can do it, but for sure using fixtures can help. What you need is to prepare computers.yml file with data:

    First_computer:
      id: 1
      name: computer
    
    Second_computer:
      id: 2
      name: dell
    

    etc.

    Then you can use this to load it to db:

    require 'active_record/fixtures'
    
    Fixtures.create_fixtures("/path/to/directory/where/your/yml/file/is/", "computers")
    

    But it will reset whole table (all rows will be deleted and reinserted – but you can keep your ids).

    Again I want to warn you that it is bad idea to load data this way. Fixtures/seeds should be used only to seed your db with initial (needed to start your application) data.

    Why do you want to reset this table?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We were having a problem with our build server not checking out modifications from
We're having problem with a huge number of legacy stored procedures at work. Do
I'm having problem in the following line: rd.PrintOptions.PaperSize = PaperSize.PaperFanfoldStdGerman; it throws an exception
Having a problem getting a TreeView control to display node images. The code below
Having a problem trying to create a function, as part of a BizTalk helper
Im having a problem with a final part of my assignment. We get in
I'm having a problem with an application hanging and giving me the default Please
I'm having a problem with my compiler telling me there is an 'undefined reference
I'm having a problem writing Norwegian characters into an XML file using C#. I
I'm having a problem with my Seam code and I can't seem to figure

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.