Railsのmigrate機能で初期データ登録用のマイグレーションファイルを 作りました。
でも、何度かmigrationをしているうちに、
auto_incrementで採番される値はクリアされないので、
どんどん大きくなっていってしまいます。
他のテーブルで外部参照しておりキーの値が変わっては困るのです。
で、最初は以下のようにマイグレーションファイルを作成しました。
class ImportStatusInitialData < ActiveRecord::Migration
  def self.up
    down
    Status.create( :status => 1, :name => "AA" )
    Status.create( :status => 2, :name => "BB" )
    Status.create( :status => 3, :name => "CC" )
    Status.create( :status => 4, :name => "DD" )
    Status.create( :status => 5, :name => "EE" )
    Status.create( :status => 6, :name => "FF" )
  end

  def self.down
    Status.delete_all
    execute "alter table statuses auto_increment=0"
  end
end
見て分かるとおり、ネイティブSQLを書いています。
イケてないので、メソッド化します。
RAILS_HOME/lib/schema_statements.rb
ファイルを以下のように作りました。
module ActiveRecord
  module ConnectionAdapters # :nodoc:
    module SchemaStatements
      # ID列 ( autoincrement項目 ) の 順序値を設定する。
      def set_autoincrement_number(table_name, number)
        execute "ALTER TABLE #{quote_table_name(table_name)} AUTO_INCREMENT=#{number}"
      end
    end
  end
end
で、rakeの時に上記ファイルを読み込むようにする為、
RAILS_HOME/Rakefileに以下を追記
require 'lib/schema_statements'
そしてマイグレーションファイルを変更
class ImportStatusInitialData < ActiveRecord::Migration
  def self.up
    down
    Status.create( :status => 1, :name => "AA" )
    Status.create( :status => 2, :name => "BB" )
    Status.create( :status => 3, :name => "CC" )
    Status.create( :status => 4, :name => "DD" )
    Status.create( :status => 5, :name => "EE" )
    Status.create( :status => 6, :name => "FF" )
  end

  def self.down
    Status.delete_all
    set_autoincrement_number :statuses, 0
  end
end
そして、rake db:migrateを実行!!
== 10 ImportStatusInitialData: migrating 
======================================
== 10 ImportStatusInitialData: reverting ======================================
-- set_autoincrement_number(:statuses, 0)
   -> 0.0139s
== 10 ImportStatusInitialData: reverted (0.0176s) =============================

== 10 ImportStatusInitialData: migrated (0.0388s) =============================
バッチリです。 
あ、これ mysql でしか調べてないです。
あと、処理を追加するファイルの置き場所とかここで良いのか?