redmine_plugins_helper 0.12.0 → 0.12.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f7d3b510c4a42d1c78bf2d850648ee579a8a3c24adff6a8ba6ba84b91bce6be
|
4
|
+
data.tar.gz: bf26964cb5d67e16accf2631477d1f89373c79781d23bff661a85762d3f99a50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf2e3febe40f0d8246a905e0a1583d8cf68354309aa949dde4d6fdeced11a5b96dbdd65a85c9ede5ed1d9b381061f53455a2d4e116c91867fffa8528796311f7
|
7
|
+
data.tar.gz: c153f16bb325b0ab9356d110662727ab4e8f84e8d919b6acd4f53cf74d097ec3d7b57e12e159583dbe05681e42f1370f52a7605984d2cd694aafc9df5d84dec7
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Reference: https://stackoverflow.com/questions/62570662/rails-4-ruby-2-7-1-schema-rb-shows-could-not-dump-table-because-of-following-f
|
4
|
+
|
5
|
+
return unless RUBY_VERSION >= '2.7' && ::Rails.version < '5'
|
6
|
+
|
7
|
+
module ActiveRecord
|
8
|
+
module ConnectionAdapters
|
9
|
+
module ColumnDumper
|
10
|
+
def prepare_column_options(column, types) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
11
|
+
spec = {}
|
12
|
+
spec[:name] = column.name.inspect
|
13
|
+
spec[:type] = column.type.to_s
|
14
|
+
spec[:null] = 'false' unless column.null
|
15
|
+
|
16
|
+
limit = column.limit || types[column.type][:limit]
|
17
|
+
spec[:limit] = limit.inspect if limit
|
18
|
+
spec[:precision] = column.precision.inspect if column.precision
|
19
|
+
spec[:scale] = column.scale.inspect if column.scale
|
20
|
+
|
21
|
+
default = schema_default(column).dup if column.has_default?
|
22
|
+
spec[:default] = default unless default.nil?
|
23
|
+
|
24
|
+
spec
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -2,13 +2,7 @@
|
|
2
2
|
|
3
3
|
module RedminePluginsHelper
|
4
4
|
class FixMigrations
|
5
|
-
def
|
6
|
-
run
|
7
|
-
end
|
8
|
-
|
9
|
-
private
|
10
|
-
|
11
|
-
def run
|
5
|
+
def perform
|
12
6
|
database_plugins_versions.each do |dbv|
|
13
7
|
check_database_version(dbv)
|
14
8
|
end
|
@@ -16,6 +10,8 @@ module RedminePluginsHelper
|
|
16
10
|
Rails.logger.info("Local versions found: #{local_versions.count}")
|
17
11
|
end
|
18
12
|
|
13
|
+
private
|
14
|
+
|
19
15
|
def check_database_version(dbv)
|
20
16
|
lv = local_version(dbv[:timestamp])
|
21
17
|
return unless lv && lv.count == 1 && dbv[:plugin] != lv.first[:plugin]
|
@@ -43,8 +39,8 @@ module RedminePluginsHelper
|
|
43
39
|
|
44
40
|
def move_plugin_version(source_version, target_version)
|
45
41
|
Rails.logger.info("Moving #{source_version} to plugin \"#{target_version}\"")
|
46
|
-
::ActiveRecord::SchemaMigration.
|
47
|
-
.
|
42
|
+
::ActiveRecord::SchemaMigration.where(version: source_version)
|
43
|
+
.update_all(version: target_version) # rubocop:disable Rails/SkipsModelValidations
|
48
44
|
end
|
49
45
|
|
50
46
|
def local_version(timestamp)
|
@@ -68,7 +64,9 @@ module RedminePluginsHelper
|
|
68
64
|
|
69
65
|
def database_plugins_versions
|
70
66
|
@database_plugins_versions ||= ::RedminePluginsHelper::Migration
|
71
|
-
.from_database.select(&:plugin?).map
|
67
|
+
.from_database.select(&:plugin?).map do |m|
|
68
|
+
{ plugin: m.plugin_id, timestamp: m.version, version: m.database_version }
|
69
|
+
end
|
72
70
|
end
|
73
71
|
|
74
72
|
def plugin_version(plugin_id, timestamp)
|
data/lib/tasks/redmine.rake
CHANGED
@@ -42,7 +42,7 @@ namespace :redmine do
|
|
42
42
|
namespace :migrate do
|
43
43
|
desc 'Fix migrations moved from a plugin to another'
|
44
44
|
task fix: :environment do
|
45
|
-
RedminePluginsHelper::FixMigrations.new
|
45
|
+
::RedminePluginsHelper::FixMigrations.new.perform
|
46
46
|
end
|
47
47
|
|
48
48
|
desc 'Show migrations status of all plugins'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine_plugins_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- 0.12.
|
7
|
+
- 0.12.1
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bigdecimal
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- app/assets/stylesheets/plugins_autoload.scss.erb
|
111
111
|
- config/initializers/assets.rb
|
112
112
|
- config/initializers/backport_pg_10_support_to_rails_4.rb
|
113
|
+
- config/initializers/ruby_2_7_rails_4_column_dumper.rb
|
113
114
|
- init.rb
|
114
115
|
- lib/enumerator.rb
|
115
116
|
- lib/redmine_plugins_helper.rb
|