Заставить таблицу начинать увеличение идентификатора с 0 снова в ActiveRecord? - PullRequest
1 голос
/ 15 сентября 2010

Я пытаюсь настроить начальные данные для моего приложения Rails и рассчитываю на id каждой модели, имеющей определенное значение. Как я могу указать таблице, чтобы после MyModel.destroy_all снова начался отсчет с 0 вместо того, где она остановилась?

1 Ответ

1 голос
/ 16 сентября 2010

Наилучший способ - это сбросить всю таблицу, воссоздать ее и затем заполнить. Вы можете сделать это с помощью пользовательских заданий рейка.

Попробуйте что-то вроде этого, чтобы бросить свой стол:

desc "Drop MyModel table"
  task :drop_my_model => :environment do
    connection = ActiveRecord::Base.connection
    connection.execute("drop table my_models")
  end
end

тогда вы можете рейк

$ rake drop_my_model
$ rake db:migrate:up VERSION=my_version
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...