ridgepole 0.6.5.beta9 → 0.6.5.beta10

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