ridgepole 1.0.2.beta → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a14d5a37589fdd2639feba516071c7593f98f05f485c96401dca5f3021674330
4
- data.tar.gz: 96747ebd0c5da3c8e77726e839b721aeb78c088d7d6dfd25476ac6f34421d7fb
3
+ metadata.gz: 93755589225b2104033ca2e660fdb5e4d3efa0da2784dbbd7fe4d0f1ff2a455d
4
+ data.tar.gz: 297bc45e7568a26ebec4a410cb2ce8bece3fd0c960fda4ad3955f09f58981004
5
5
  SHA512:
6
- metadata.gz: 946b32832ab928d03a22caa78fe4bd6379778732817de10d9df12eb976d1feb0260cacb436ae848f47e98cae923542b4494e26690a78069dd5559a6278799286
7
- data.tar.gz: 3bd4e975d7aa90162d3813f57215db79c5c0680553cb46e62cf820c4dfe6500af8c8f0845fe4799e481dfad453698439e84362d5f19ee2c0aafa454d28eae62a
6
+ metadata.gz: 32fca405de8475e0a09fcac001fbc92ed955a13ae2b2a6175b161c8cec135b5f2c99fb18d214f0e34aa0015503b2885c0c9420ae1d2912ac70b7ce98bbfbfe12
7
+ data.tar.gz: 20cebc14f9eb4976b644569af06c93c78a4573c8368dbe98447153aaabf601113a6cc8db8a2e8f3bd6def07ebb7971c5358dfcced15513e9fcc0d69903a0d233
data/CHANGELOG.md CHANGED
@@ -2,7 +2,15 @@
2
2
 
3
3
  ## 1.0
4
4
 
5
- ### 1.0.2 (Unreleased)
5
+ ### 1.0.4 (2022/03/28)
6
+
7
+ * Add warning for generated column [pull#382](https://github.com/ridgepole/ridgepole/pull/382)
8
+
9
+ ### 1.0.3 (2022/02/12)
10
+
11
+ * Support Rails 7.0.2 [pull#380](https://github.com/ridgepole/ridgepole/pull/380)
12
+
13
+ ### 1.0.2 (2022/02/06)
6
14
 
7
15
  * Add support for partitioning ([pull#374](https://github.com/ridgepole/ridgepole/pull/374))
8
16
  * Suppress warning of table option differences ([pull#378](https://github.com/ridgepole/ridgepole/pull/378))
data/README.md CHANGED
@@ -11,6 +11,10 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
11
11
 
12
12
  **Notice**
13
13
 
14
+ * ActiveRecord 7.x has some incompatible changes. If you get unintended differences in `datetime`, add `precision`.
15
+ * cf. https://github.com/ridgepole/ridgepole/issues/381
16
+ * For ActiveRecord 7.x series, please use AcriveRecord 7.0.2 or higher / Ridgepole 1.0.3 or higher.
17
+ * cf. https://github.com/ridgepole/ridgepole/pull/380
14
18
  * ActiveRecord 6.1 is supported in ridgepole v0.9, but the ActiveRecord dump has been changed, so there is a difference between ActiveRecord 5.x/6.0 format.
15
19
  * **If you use ActiveRecord 6.1, please modify Schemafile format**.
16
20
  * cf. https://github.com/ridgepole/ridgepole/pull/323
@@ -210,6 +214,19 @@ activerecord 5.0.0 and activerecord-mysql-awesome dumps a collation rather than
210
214
 
211
215
  See `mysql> show character set;` to find charset / collation pair for your system.
212
216
 
217
+ ## Generated Column (MySQL)
218
+
219
+ There should be NO extra white spaces in the expression (such as after comma).
220
+ Quotes in expression may cause the operations failure with MySQL 8.0.
221
+
222
+ ```ruby
223
+ create_table "users", force: :cascade do |t|
224
+ t.string "last_name"
225
+ t.string "first_name"
226
+ t.virtual "full_name", type: :string, as: "concat(`last_name`,' ',`first_name`)", stored: true
227
+ end
228
+ ```
229
+
213
230
  ## Execute
214
231
  ```ruby
215
232
  create_table "authors", force: :cascade do |t|
@@ -422,9 +422,6 @@ module Ridgepole
422
422
  opts[:limit] = 4_294_967_295
423
423
  end
424
424
  end
425
-
426
- # Workaround for Active Record 7.0
427
- opts.delete(:precision) if attrs[:type] == :datetime && opts[:precision].nil?
428
425
  end
429
426
  end
430
427
 
@@ -509,6 +506,14 @@ module Ridgepole
509
506
  attrs2.fetch(:options).delete(:comment)
510
507
  end
511
508
 
509
+ if attrs1[:options][:as] != attrs2[:options][:as] && attrs1[:options].fetch(:as, '').delete(' ') == attrs2[:options].fetch(:as, '').delete(' ')
510
+ @logger.warn(<<-MSG)
511
+ [WARNING] Same expressions but only differed by white spaces were detected. This operation may fail.
512
+ Before: '#{attrs1[:options][:as]}'
513
+ After : '#{attrs2[:options][:as]}'
514
+ MSG
515
+ end
516
+
512
517
  attrs1 == attrs2
513
518
  end
514
519
 
@@ -652,7 +657,7 @@ MSG
652
657
 
653
658
  (from_partitions.keys - to_partitions.keys).each do |name|
654
659
  partition_definitions_delta[:delete] ||= {}
655
- partition_definitions_delta[:delete][name] = attrs.merge(valuve: from_partitions[name][:values])
660
+ partition_definitions_delta[:delete][name] = attrs.merge(values: from_partitions[name][:values])
656
661
  end
657
662
 
658
663
  (to_partitions.keys - from_partitions.keys).each do |name|
@@ -39,7 +39,7 @@ module Ridgepole
39
39
 
40
40
  dsl = stream.string.lines.select do |line|
41
41
  line !~ /\A#/ &&
42
- line !~ /\AActiveRecord::Schema\.define/ &&
42
+ line !~ /\AActiveRecord::Schema(\[\d\.\d\])?\.define/ &&
43
43
  line !~ /\Aend/
44
44
  end
45
45
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ridgepole
4
- VERSION = '1.0.2.beta'
4
+ VERSION = '1.0.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2.beta
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-22 00:00:00.000000000 Z
11
+ date: 2022-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -338,9 +338,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
338
338
  version: 2.2.7
339
339
  required_rubygems_version: !ruby/object:Gem::Requirement
340
340
  requirements:
341
- - - ">"
341
+ - - ">="
342
342
  - !ruby/object:Gem::Version
343
- version: 1.3.1
343
+ version: '0'
344
344
  requirements: []
345
345
  rubygems_version: 3.2.32
346
346
  signing_key: