discourse/db/migrate/20000225050318_add_schema_migration_details.rb
Sam bbbb09a6fb FEATURE: start tracking information about migrations that run
This commit adds a new tracking table that lets us know

- When a migration ran
- What version Discourse was at
- How long it took
- What version Rails was at

The built in tracking in Rails is very limited, does not track this info
2016-02-17 18:08:25 +11:00

31 lines
988 B
Ruby

class AddSchemaMigrationDetails < ActiveRecord::Migration
def up
# schema_migrations table is way too thin, does not give info about
# duration of migration or the date it happened, this migration together with the
# monkey patch adds a lot of information to the migration table
create_table :schema_migration_details do |t|
t.string :version, null: false
t.string :name
t.string :hostname
t.string :git_version
t.string :rails_version
t.integer :duration
t.string :direction # this really should be a pg enum type but annoying to wire up for little gain
t.datetime :created_at, null: false
end
add_index :schema_migration_details, [:version]
execute("INSERT INTO schema_migration_details(version, created_at)
SELECT version, current_timestamp
FROM schema_migrations
ORDER BY version
")
end
def down
drop_table :schema_migration_details
end
end