ridgepole 1.2.0 → 1.2.1

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: '068fca35b633df2e4bc3b2d8ad5d2553496396a78c16ca371f18efc4dbad6adf'
4
- data.tar.gz: c908229a06ddcbbf28e14b28af7f52f63c933d271db2e24231f6ed588fe5a1a0
3
+ metadata.gz: f90fd48ae734b53cd516ac3006e2a3d0b2582c1ed3a2ed1eacccc8884a382bf0
4
+ data.tar.gz: 926c56a91a6e58a64fbbb46f44ca640983a9285e509ec5b3295aaa5b7d2317c3
5
5
  SHA512:
6
- metadata.gz: 6456e47a675dbdeb21ce56c9ed6091e823031ca082b191b7fb0438880d54ee6aea51988d4d9c5e07ded0e684a683d22f0d613cd3697c7c6d12ef6948b41e972e
7
- data.tar.gz: 4b9f3b573975e0be50dec442e7db23688374754306082275bcc711e20e5813f2c4ca1975993797e02fd5b963cf396b7f5bbd2cd869f02aee468c8d07ce98e3c1
6
+ metadata.gz: d00a0d85d16b360912b06da4b26185cea444dc7de4f96cb388881f5859e8592852c3c2fba6797e68436aa4ee000bfd705e0edaea76fafb7333c1b9d81d38001b
7
+ data.tar.gz: b2a4beae21348b43a401af11448d922dbb1e40c8149ea0d7369d4bc4ff14fc10a6f468e1c2d660ad7fd31731d9661feca62c3a04165f8a9fd098c69b872a285d
data/.rubocop.yml CHANGED
@@ -3,8 +3,9 @@ AllCops:
3
3
  - "gemfiles/**/*"
4
4
  - "omnibus-ridgepole/**/*"
5
5
  - "vendor/bundle/**/*"
6
- TargetRubyVersion: 2.5
6
+ TargetRubyVersion: 2.7
7
7
  NewCops: enable
8
+ SuggestExtensions: false
8
9
  Bundler/OrderedGems:
9
10
  Include:
10
11
  - "Appraisals"
@@ -53,3 +54,5 @@ Lint/DuplicateBranch:
53
54
  Enabled: false
54
55
  Style/OptionalBooleanParameter:
55
56
  Enabled: false
57
+ Gemspec/DevelopmentDependencies:
58
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## 1.2
4
4
 
5
+ ### 1.2.1 (2023/07/29)
6
+
7
+ * Support `create_enum` [pull#405](https://github.com/ridgepole/ridgepole/pull/405)
8
+ * Fix timestamps with index behavior [pull#428](https://github.com/ridgepole/ridgepole/pull/428)
9
+ * Fix broken `DEFAULT CURRENT_TIMESTAMP` spec [pull#420](https://github.com/ridgepole/ridgepole/pull/420)
10
+ * Add Ruby 3.2 to CI matrix [pull#419](https://github.com/ridgepole/ridgepole/pull/419)
11
+
5
12
  ### 1.2.0 (2022/09/24)
6
13
 
7
14
  * Updated supported column types [pull#399](https://github.com/ridgepole/ridgepole/pull/399) [pull#400](https://github.com/ridgepole/ridgepole/pull/400)
data/README.md CHANGED
@@ -5,7 +5,7 @@ Ridgepole is a tool to manage DB schema.
5
5
  It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.html#types-of-schema-dumps), and updates DB schema according to DSL.
6
6
  (like Chef/Puppet)
7
7
 
8
- [![Gem Version](https://badge.fury.io/rb/ridgepole.svg)](http://badge.fury.io/rb/ridgepole)
8
+ [![Gem Version](https://badge.fury.io/rb/ridgepole.svg)](https://badge.fury.io/rb/ridgepole)
9
9
  [![Build Status](https://github.com/ridgepole/ridgepole/workflows/test/badge.svg?branch=1.2)](https://github.com/ridgepole/ridgepole/actions)
10
10
  [![Coverage Status](https://coveralls.io/repos/github/ridgepole/ridgepole/badge.svg?branch=1.2)](https://coveralls.io/github/ridgepole/ridgepole?branch=1.2)
11
11
 
@@ -13,8 +13,9 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
13
13
 
14
14
  * Drop support ActiveRecord 5.x in ridgepole v1.2.0.
15
15
  * Partitioning is no longer supported in ridgepole v1.1.0.
16
- * ActiveRecord 7.x has some incompatible changes. If you get unintended differences in `datetime`, add `precision`.
17
- * cf. https://github.com/ridgepole/ridgepole/issues/381
16
+ * ActiveRecord 7.x has some incompatible changes. If you get unintended differences in `datetime` columns consider changing `precision`:
17
+ * Add `precision: nil` for columns that previously had no `precision` specified (cf. https://github.com/ridgepole/ridgepole/issues/381)
18
+ * Remove `precision: 6` from columns that previously had `precision: 6` specified explicitly (cf. https://github.com/ridgepole/ridgepole/issues/406)
18
19
  * For ActiveRecord 7.x series, please use AcriveRecord 7.0.2 or higher / Ridgepole 1.0.3 or higher.
19
20
  * cf. https://github.com/ridgepole/ridgepole/pull/380
20
21
  * 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.
@@ -324,12 +325,12 @@ Apply `Schemafile`
324
325
 
325
326
 
326
327
  ```sh
327
- docker-compose up -d
328
+ docker compose up -d
328
329
  bundle install
329
330
  bundle exec appraisal install
330
331
  bundle exec appraisal activerecord-7.0 rake
331
332
  # POSTGRESQL=1 bundle exec appraisal activerecord-7.0 rake
332
- # MYSQL57=1 bundle exec appraisal activerecord-7.0 rake
333
+ # MYSQL80=1 bundle exec appraisal activerecord-7.0 rake
333
334
  ```
334
335
 
335
336
  **Notice:** Ruby 2.6 or above/mysql-client/postgresql-client is required.
@@ -341,6 +342,6 @@ bundle exec appraisal activerecord-7.0 rake
341
342
 
342
343
  ## Example project
343
344
 
344
- * https://github.com/ridgepole/ridgepole-example
345
- * https://github.com/ridgepole/ridgepole-example/pull/1
346
- * https://github.com/ridgepole/ridgepole-example/pull/2
345
+ * https://github.com/winebarrel/ridgepole-example
346
+ * https://github.com/winebarrel/ridgepole-example/pull/1
347
+ * https://github.com/winebarrel/ridgepole-example/pull/2
@@ -1,19 +1,13 @@
1
- version: "3.8"
2
1
  services:
3
- mysql:
4
- image: "mysql:5.6.51"
5
- ports:
6
- - "13316:3306"
7
- environment:
8
- MYSQL_ROOT_PASSWORD: password
9
2
  mysql57:
10
- image: "mysql:5.7.39"
3
+ image: "mysql:5.7"
4
+ platform: linux/amd64
11
5
  ports:
12
- - "13317:3306"
6
+ - "13316:3306"
13
7
  environment:
14
8
  MYSQL_ROOT_PASSWORD: password
15
9
  mysql80:
16
- image: "mysql:8.0.30"
10
+ image: "mysql:8.0"
17
11
  ports:
18
12
  - "13318:3306"
19
13
  environment:
@@ -66,7 +66,7 @@ module Ridgepole
66
66
 
67
67
  query_hash =
68
68
  if uri.query
69
- uri.query.split('&').map { |pair| pair.split('=') }.to_h
69
+ uri.query.split('&').to_h { |pair| pair.split('=') }
70
70
  else
71
71
  {}
72
72
  end
@@ -87,6 +87,8 @@ module Ridgepole
87
87
 
88
88
  # https://github.com/ridgepole/ridgepole/issues/394
89
89
  timestamptz: {},
90
+
91
+ enum: {},
90
92
  }.freeze
91
93
 
92
94
  TYPES.each do |column_type, default_options|
@@ -143,8 +145,8 @@ module Ridgepole
143
145
 
144
146
  def timestamps(*args)
145
147
  options = { null: false }.merge(args.extract_options!)
146
- column(:created_at, :datetime, options)
147
- column(:updated_at, :datetime, options)
148
+ column(:created_at, :datetime, options.dup)
149
+ column(:updated_at, :datetime, options.dup)
148
150
  end
149
151
 
150
152
  def references(*args)
@@ -40,9 +40,9 @@ module Ridgepole
40
40
  # NOTE: For composite primary keys, the first column of the primary key is used as the foreign key index
41
41
  next if Array(attrs[:options][:primary_key]).first == fk_index
42
42
 
43
- raise("The column `#{fk_index}` of the table `#{table_name}` has a foreign key but no index." \
44
- ' Although InnoDB creates an index automatically,' \
45
- ' please add one explicitly in order for ridgepole to manage it.')
43
+ raise("The column `#{fk_index}` of the table `#{table_name}` has a foreign key but no index. " \
44
+ 'Although InnoDB creates an index automatically, ' \
45
+ 'please add one explicitly in order for ridgepole to manage it.')
46
46
  end
47
47
  end
48
48
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ridgepole
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
data/lib/ridgepole.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'logger'
4
4
  require 'open3'
5
- require 'pp'
5
+ require 'pp' # rubocop:disable Lint/RedundantRequireStatement
6
6
  require 'shellwords'
7
7
  require 'singleton'
8
8
  require 'stringio'
data/ridgepole.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.required_ruby_version = Gem::Requirement.new('>= 2.2.7') # rubocop:disable Gemspec/RequiredRubyVersion
25
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.7')
26
26
 
27
27
  spec.add_dependency 'activerecord', '>= 5.1', '< 7.1'
28
28
  spec.add_dependency 'diffy'
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency 'rspec', '>= 3.0.0'
39
39
  spec.add_development_dependency 'rspec-match_fuzzy', '>= 0.1.3'
40
40
  spec.add_development_dependency 'rspec-match_ruby', '>= 0.1.3'
41
- spec.add_development_dependency 'rubocop', '1.24.1'
41
+ spec.add_development_dependency 'rubocop', '1.54.2'
42
42
  spec.add_development_dependency 'rubocop-rake', '>= 0.5.1'
43
43
  spec.add_development_dependency 'rubocop-rspec', '>= 2.1.0'
44
44
  spec.add_development_dependency 'simplecov'
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.2.0
4
+ version: 1.2.1
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-09-24 00:00:00.000000000 Z
11
+ date: 2023-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -204,14 +204,14 @@ dependencies:
204
204
  requirements:
205
205
  - - '='
206
206
  - !ruby/object:Gem::Version
207
- version: 1.24.1
207
+ version: 1.54.2
208
208
  type: :development
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
212
  - - '='
213
213
  - !ruby/object:Gem::Version
214
- version: 1.24.1
214
+ version: 1.54.2
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: rubocop-rake
217
217
  requirement: !ruby/object:Gem::Requirement
@@ -287,7 +287,7 @@ files:
287
287
  - README.md
288
288
  - Rakefile
289
289
  - bin/ridgepole
290
- - docker-compose.yml
290
+ - compose.yml
291
291
  - gemfiles/activerecord_6.0.gemfile
292
292
  - gemfiles/activerecord_6.1.gemfile
293
293
  - gemfiles/activerecord_7.0.gemfile
@@ -327,7 +327,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
327
327
  requirements:
328
328
  - - ">="
329
329
  - !ruby/object:Gem::Version
330
- version: 2.2.7
330
+ version: '2.7'
331
331
  required_rubygems_version: !ruby/object:Gem::Requirement
332
332
  requirements:
333
333
  - - ">="