data_migrate 8.0.0 → 8.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86bd9c5c658d19081e2f3832e2637197c53ba841fb779a0424dae6b6d87c6685
4
- data.tar.gz: 8698b30801c19530248088d6521de33c1688f548e7ce8b218ccd75ca4058bffb
3
+ metadata.gz: ba5ee2c5d78ddb60b5b23067b5103c4f1dba6d1249984dfe2489382cc9bc9f1a
4
+ data.tar.gz: d6ed21a477ffe26c2705f9582a4f370e1a20807297200ba62988ada34c0f42fc
5
5
  SHA512:
6
- metadata.gz: 4303810721d723a76494aee931ca4026b20590f762d9600f056cafd2e8af3e955067f56c0ecdea271f53aa0c1f82eb1f803078e20dd3483ec2a311a3cb5a2d55
7
- data.tar.gz: ebee6c3e420f9d272daf4f428cdd71a24f9453fb1b845aee783b1348a45ce18a6539a6d60ce40885f39c8180035c940c71be7a685988fba1780445a8df1bc287
6
+ metadata.gz: d31827b46b9def6d3be01606f027e040cc340e3c4aebea687980f2eefa4ca86acd92f9fb495c6b25578c69f8cfba78aa8ac6863b276945450e43323ff2458fec
7
+ data.tar.gz: eec842d6f96134abea3945d27e4d366f8f093ac0cfe14ff7f4931b61c2a872cd21fe4c19e7ccec54dedba470b224bf0b9b199f3c4941cad0d2b896de5211b8ac
data/Changelog.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 8.2.0
4
+
5
+ Delegate to anonymous subclass of AR::SchemaMigration [foxondo](https://github.com/foxondo)
6
+
7
+ ## 8.1.1
8
+
9
+ Revert 8.1.0 changes
10
+
11
+ ## 8.1.0
12
+
13
+ Avoid globally accessible functions for all rake tasks [berniechiu](https://github.com/berniechiu)
14
+ fixed `db:migrate:with_data` to compare data schema versions correctly [cadactive](https://github.com/cadactive)
15
+
3
16
  ## 8.0.0.rc2
4
17
 
5
18
  Bug fixes [gdott9](https://github.com/gdott9)
data/README.md CHANGED
@@ -38,20 +38,6 @@ table to track all migrations.
38
38
 
39
39
  Support Rails 5.2 through 7.0
40
40
 
41
- ### Important notes for older versions
42
-
43
- #### v2
44
-
45
- If you upgraded to Rails 4 while using `data_migrate` prior to version 2,
46
- the gem wrote data migration versions into
47
- `schema_migrations` table. After the fix, it was corrected to write into
48
- `data_migrations`.
49
-
50
- If you need to use these old migrations, add the following configuration
51
-
52
- It is recommended to move all legacy migrations from `schema_migrations` table into `data_migrations` table
53
-
54
- This may cause some unintended consequences. See [#22](https://github.com/ilyakatz/data-migrate/issues/22)
55
41
 
56
42
  #### v1
57
43
 
@@ -146,6 +132,27 @@ require 'capistrano/data_migrate'
146
132
 
147
133
  From now on capistrano will run `rake db:migrate:with_data` in every deploy.
148
134
 
135
+ ## Rails Engines support
136
+
137
+ This gem also has a initial support for adding data migrations inside Rails engines.
138
+ Inside the Engine's class initializer (the one that inherits from `Rails::Engine`, usually inside `engines/ENGINE_NAME/lib/engine.rb`) you need to add something like this:
139
+
140
+
141
+ ```ruby
142
+ module EngineName
143
+ class Engine < ::Rails::Engine
144
+ initializer :engine_name do |app|
145
+ ::DataMigrate.configure do |data_migrate|
146
+ default_path = ::DataMigrate::Config.new.data_migrations_path
147
+ data_migrate.data_migrations_path = [default_path, root.join('db', 'data')]
148
+ end
149
+ end
150
+ end
151
+ end
152
+ ```
153
+
154
+ Then, in the Engine's `db/data` folder, you can add data migrations and run them as usual.
155
+
149
156
  ### Contributing
150
157
 
151
158
  ## Testing
@@ -1,15 +1,14 @@
1
1
  module DataMigrate
2
- class DataSchemaMigration < ::ActiveRecord::SchemaMigration
3
-
2
+ class DataSchemaMigration
4
3
  class << self
5
- def table_name
6
- ActiveRecord::Base.table_name_prefix + 'data_migrations' + ActiveRecord::Base.table_name_suffix
7
- end
4
+ delegate :table_name, :primary_key, :create_table, :normalized_versions, :create, :create!, :table_exists?, :where, to: :instance
8
5
 
9
- def primary_key
10
- "version"
6
+ def instance
7
+ @instance ||= Class.new(::ActiveRecord::SchemaMigration) do
8
+ define_singleton_method(:table_name) { ActiveRecord::Base.table_name_prefix + 'data_migrations' + ActiveRecord::Base.table_name_suffix }
9
+ define_singleton_method(:primary_key) { "version" }
10
+ end
11
11
  end
12
12
  end
13
13
  end
14
14
  end
15
-
@@ -1,3 +1,3 @@
1
1
  module DataMigrate
2
- VERSION = "8.0.0".freeze
2
+ VERSION = "8.2.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew J Vargo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-03-03 00:00:00.000000000 Z
13
+ date: 2022-10-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -291,7 +291,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
291
  - !ruby/object:Gem::Version
292
292
  version: '0'
293
293
  requirements: []
294
- rubygems_version: 3.2.32
294
+ rubygems_version: 3.3.7
295
295
  signing_key:
296
296
  specification_version: 4
297
297
  summary: Rake tasks to migrate data alongside schema changes.