ridgepole 1.0.2.beta → 1.0.4

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: 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: