lib/cassandra_object/migrations.rb in sessionm-cassandra_object-2.7.5 vs lib/cassandra_object/migrations.rb in sessionm-cassandra_object-4.0.0
- old
+ new
@@ -2,12 +2,13 @@
module Migrations
extend ActiveSupport::Concern
extend ActiveSupport::Autoload
included do
- class_inheritable_array :migrations
- class_inheritable_accessor :current_schema_version
+ class_attribute :migrations
+ self.migrations = []
+ class_attribute :current_schema_version
self.current_schema_version = 0
end
autoload :Migration
@@ -27,11 +28,12 @@
end
end
module ClassMethods
def migrate(version, &blk)
- write_inheritable_array(:migrations, [Migration.new(version, blk)])
+ self.migrations = self.migrations.dup
+ self.migrations << Migration.new(version, blk)
if version > self.current_schema_version
self.current_schema_version = version
end
end
@@ -58,11 +60,11 @@
@schema_version = migration.version.to_s
attrs
end
super(key, attributes).tap do |record|
- original_attributes.diff(attributes).keys.each do |attribute|
- record.attribute_will_change! attribute
+ attributes.each do |name, _|
+ record.attribute_will_change!(name) unless original_attributes.has_key?(name)
end
end
end
end
end