ridgepole 0.6.5.beta9 → 0.6.5.beta10

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
  SHA1:
3
- metadata.gz: 024470270cd96b582a5e6c0da47e8ca57bfae9a6
4
- data.tar.gz: 870ce03f5efdf6d1cf888b35a22367524189fb39
3
+ metadata.gz: 145c30f16a0e8c3c7aa2a56ded6db3bbbabded5f
4
+ data.tar.gz: 577cacc926ed818f403cc066cc6f299f8faea54c
5
5
  SHA512:
6
- metadata.gz: abfb2f146e7b6d57a72fdf4735227cc9e82e4cb11a1859dfc9666bc7c5c5851539c7a2891edc47075b02c6a09099d911f50f320d26de71e3a845b10a21733cc5
7
- data.tar.gz: bca1b088bd0c3943202d51b49ea35304ca7adef09cd5d52581df67527340dfcb86f8262339f1a239ac7d3ee70fadc9c6722c8945c9698d81c2666134ccec6c0c
6
+ metadata.gz: cefea2b7ea2341fe5dd3155b81c34ea947fe4fd5e1b71ebf5436aa43d27e688d6f596b1834526617d13af74e2d8e94395ff7d9dbd63506221b49f18ebb48bd3f
7
+ data.tar.gz: 9d8070a7d1cad32919673def208f8bf66956fccb3c86fe4973272d5c82ae1444dfc12dd32b2cff1e7ccf499943b77300366f2b8a135405fed9e52b6ff76c8682
@@ -174,7 +174,11 @@ class Ridgepole::DSLParser
174
174
 
175
175
  def add_index(table_name, column_name, options = {})
176
176
  table_name = table_name.to_s
177
- column_name = [column_name].flatten.map {|i| i.to_s }
177
+ # Keep column_name for expression index support
178
+ # https://github.com/rails/rails/pull/23393
179
+ unless column_name.is_a?(String) && /\W/ === column_name
180
+ column_name = [column_name].flatten.map {|i| i.to_s }
181
+ end
178
182
  options[:name] = options[:name].to_s if options[:name]
179
183
  @__definition[table_name] ||= {}
180
184
  @__definition[table_name][:indices] ||= {}
@@ -1,3 +1,3 @@
1
1
  module Ridgepole
2
- VERSION = '0.6.5.beta9'
2
+ VERSION = '0.6.5.beta10'
3
3
  end
@@ -0,0 +1,23 @@
1
+ describe 'Ridgepole::Client#diff -> migrate', condition: [:activerecord_5] do
2
+ subject { client }
3
+
4
+ context 'when add_index contains expression' do
5
+ let(:actual_dsl) { '' }
6
+ let(:expected_dsl) { <<-EOS }
7
+ create_table "users", force: :cascade do |t|
8
+ t.string "name", null: false
9
+ t.datetime "created_at", null: false
10
+ t.datetime "updated_at", null: false
11
+ t.index "lower((name)::text)", name: "index_users_on_lower_name", using: :btree
12
+ end
13
+ EOS
14
+
15
+ specify do
16
+ delta = subject.diff(expected_dsl)
17
+ expect(delta).to be_differ
18
+ expect(subject.dump).to match_fuzzy(actual_dsl)
19
+ delta.migrate
20
+ expect(subject.dump).to match_fuzzy(expected_dsl)
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5.beta9
4
+ version: 0.6.5.beta10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
@@ -318,6 +318,7 @@ files:
318
318
  - spec/postgresql/fk/migrate_create_fk_spec.rb
319
319
  - spec/postgresql/fk/migrate_drop_fk_spec.rb
320
320
  - spec/postgresql/migrate/migrate_add_column_spec.rb
321
+ - spec/postgresql/migrate/migrate_add_expression_index_spec.rb
321
322
  - spec/postgresql/migrate/migrate_bigint_spec.rb
322
323
  - spec/postgresql/migrate/migrate_change_column_default_spec.rb
323
324
  - spec/postgresql/migrate/migrate_change_column_spec.rb
@@ -447,6 +448,7 @@ test_files:
447
448
  - spec/postgresql/fk/migrate_create_fk_spec.rb
448
449
  - spec/postgresql/fk/migrate_drop_fk_spec.rb
449
450
  - spec/postgresql/migrate/migrate_add_column_spec.rb
451
+ - spec/postgresql/migrate/migrate_add_expression_index_spec.rb
450
452
  - spec/postgresql/migrate/migrate_bigint_spec.rb
451
453
  - spec/postgresql/migrate/migrate_change_column_default_spec.rb
452
454
  - spec/postgresql/migrate/migrate_change_column_spec.rb