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