online_migrations 0.7.0 → 0.7.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/online_migrations/schema_cache.rb +20 -38
- data/lib/online_migrations/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1194e93630871eb20ffe647cbc6b7bea10a608e5cfdb9060d7ec23f3edf7d364
|
|
4
|
+
data.tar.gz: 6f88e04a9556be655a4a60688e97a6f4f348bef5c00ca45db91ac8c9437d7e64
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7d37838f47ea574fa8a2ad88db0c61ec6db681bf8081453a46d288480d5e27733a8e19e540841a73c87e3ece96eedef0bf01d4e7520a9b648b627e7da49538ff
|
|
7
|
+
data.tar.gz: b341891c3b81a5d4b68af360ee1ed8b7d9245685e1a3e50966c7547e3c79e132c6d8c028b733e64920587200ae95e31144d21ac2c23dcf936618a223c5e5d34f
|
data/CHANGELOG.md
CHANGED
|
@@ -4,9 +4,9 @@ module OnlineMigrations
|
|
|
4
4
|
# @private
|
|
5
5
|
module SchemaCache
|
|
6
6
|
def primary_keys(table_name)
|
|
7
|
-
if
|
|
8
|
-
super(
|
|
9
|
-
elsif
|
|
7
|
+
if (renamed_table = renamed_table?(table_name))
|
|
8
|
+
super(renamed_table)
|
|
9
|
+
elsif renamed_column?(table_name)
|
|
10
10
|
super(column_rename_table(table_name))
|
|
11
11
|
else
|
|
12
12
|
super
|
|
@@ -14,11 +14,11 @@ module OnlineMigrations
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def columns(table_name)
|
|
17
|
-
if
|
|
18
|
-
super(
|
|
19
|
-
elsif
|
|
17
|
+
if (renamed_table = renamed_table?(table_name))
|
|
18
|
+
super(renamed_table)
|
|
19
|
+
elsif renamed_column?(table_name)
|
|
20
20
|
columns = super(column_rename_table(table_name))
|
|
21
|
-
|
|
21
|
+
OnlineMigrations.config.column_renames[table_name].each do |old_column_name, new_column_name|
|
|
22
22
|
duplicate_column(old_column_name, new_column_name, columns)
|
|
23
23
|
end
|
|
24
24
|
columns
|
|
@@ -31,63 +31,45 @@ module OnlineMigrations
|
|
|
31
31
|
# Available only in Active Record 6.0+
|
|
32
32
|
return if !defined?(super)
|
|
33
33
|
|
|
34
|
-
if
|
|
35
|
-
super(
|
|
36
|
-
elsif
|
|
34
|
+
if (renamed_table = renamed_table?(table_name))
|
|
35
|
+
super(renamed_table)
|
|
36
|
+
elsif renamed_column?(table_name)
|
|
37
37
|
super(column_rename_table(table_name))
|
|
38
38
|
else
|
|
39
39
|
super
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
-
def clear!
|
|
44
|
-
super
|
|
45
|
-
clear_renames_cache!
|
|
46
|
-
end
|
|
47
|
-
|
|
48
43
|
def clear_data_source_cache!(name)
|
|
49
|
-
if
|
|
50
|
-
super(
|
|
44
|
+
if (renamed_table = renamed_table?(name))
|
|
45
|
+
super(renamed_table)
|
|
51
46
|
end
|
|
52
47
|
|
|
53
|
-
if
|
|
48
|
+
if renamed_column?(name)
|
|
54
49
|
super(column_rename_table(name))
|
|
55
50
|
end
|
|
56
51
|
|
|
57
52
|
super(name)
|
|
58
|
-
clear_renames_cache!
|
|
59
53
|
end
|
|
60
54
|
|
|
61
55
|
private
|
|
62
|
-
def
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
def renamed_table?(table_name)
|
|
57
|
+
table_renames = OnlineMigrations.config.table_renames
|
|
58
|
+
if table_renames.key?(table_name)
|
|
65
59
|
views = connection.views
|
|
66
|
-
table_renames
|
|
67
|
-
views.include?(old_name)
|
|
68
|
-
end
|
|
60
|
+
table_renames[table_name] if views.include?(table_name)
|
|
69
61
|
end
|
|
70
62
|
end
|
|
71
63
|
|
|
72
|
-
def
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
views = connection.views
|
|
76
|
-
column_renames.select do |table_name, _|
|
|
77
|
-
views.include?(table_name)
|
|
78
|
-
end
|
|
79
|
-
end
|
|
64
|
+
def renamed_column?(table_name)
|
|
65
|
+
column_renames = OnlineMigrations.config.column_renames
|
|
66
|
+
column_renames.key?(table_name) && connection.views.include?(table_name)
|
|
80
67
|
end
|
|
81
68
|
|
|
82
69
|
def column_rename_table(table_name)
|
|
83
70
|
"#{table_name}_column_rename"
|
|
84
71
|
end
|
|
85
72
|
|
|
86
|
-
def clear_renames_cache!
|
|
87
|
-
@renamed_columns = nil
|
|
88
|
-
@renamed_tables = nil
|
|
89
|
-
end
|
|
90
|
-
|
|
91
73
|
def duplicate_column(old_column_name, new_column_name, columns)
|
|
92
74
|
old_column = columns.find { |column| column.name == old_column_name }
|
|
93
75
|
new_column = old_column.dup
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: online_migrations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- fatkodima
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-02-
|
|
11
|
+
date: 2023-02-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|