mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
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
This commit is contained in:
30
db/migrate/20000225050318_add_schema_migration_details.rb
Normal file
30
db/migrate/20000225050318_add_schema_migration_details.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
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
|
||||
Reference in New Issue
Block a user