Rails Migrations, because they are aimed at the table and field schema instead of a complete representation of the database, including stored procedures, functions, seed data.
When you run rake db: setup, this will create db, load the schema, and then load the seed data.
A few solutions for you:
Option 1: Create your own rake command that performs these migrations regardless of the up / down Rails migration. Rails Migrations are regular classes, and you can use them however you like. For instance:
rake db:create_sequence
Option 2: Perform your specific migration after loading the schema as follows:
rake db:setup rake db:migrate:up VERSION=20080906120000
Choice 3: Create your sequence as input, as it essentially provides data (rather than modifying the schema).
db/seeds.rb
Choice 4 and my personal preferences: Migrate to a known good point, including your sequence, and save this empty database. Modify rake db: setup to clone this empty database. This is a bit more complicated and it sacrifices some features - all migrations become reversible, and the migration works on several database providers, etc. In my experience, these are great compromises. For instance:
rake db:fresh
source share