class PhilColumns::Activerecord::Archivist
Public Instance Methods
clear_seeds()
click to toggle source
# File lib/phil_columns/activerecord/archivist.rb, line 23 def clear_seeds SchemaSeed.delete_all end
ensure_schema_seeds_table!()
click to toggle source
# File lib/phil_columns/activerecord/archivist.rb, line 32 def ensure_schema_seeds_table! return if ActiveRecord::Base.connection.table_exists?( :schema_seeds ) silence_streams do ActiveRecord::Schema.define do create_table :schema_seeds, id: false do |t| t.column :version, :string, limit: 20, null: false end end end end
record_seed( version )
click to toggle source
# File lib/phil_columns/activerecord/archivist.rb, line 7 def record_seed( version ) ensure_schema_seeds_table! return if seed_already_executed?( version ) SchemaSeed.new.tap do |schema_seed| schema_seed.version = version schema_seed.save! end end
remove_seed( version )
click to toggle source
# File lib/phil_columns/activerecord/archivist.rb, line 17 def remove_seed( version ) ensure_schema_seeds_table! SchemaSeed.where( version: version ).delete_all #first.tap do |schema_seed| end
seed_already_executed?( version )
click to toggle source
# File lib/phil_columns/activerecord/archivist.rb, line 27 def seed_already_executed?( version ) ensure_schema_seeds_table! SchemaSeed.where( version: version ).exists? end