strong_migrations 0.7.5 → 1.8.0
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 +134 -1
- data/LICENSE.txt +1 -1
- data/README.md +324 -197
- data/lib/generators/strong_migrations/install_generator.rb +5 -1
- data/lib/strong_migrations/adapters/abstract_adapter.rb +81 -0
- data/lib/strong_migrations/adapters/mariadb_adapter.rb +32 -0
- data/lib/strong_migrations/adapters/mysql_adapter.rb +107 -0
- data/lib/strong_migrations/adapters/postgresql_adapter.rb +234 -0
- data/lib/strong_migrations/checker.rb +131 -520
- data/lib/strong_migrations/checks.rb +501 -0
- data/lib/strong_migrations/database_tasks.rb +2 -1
- data/lib/strong_migrations/error_messages.rb +270 -0
- data/lib/strong_migrations/migration.rb +18 -3
- data/lib/strong_migrations/migrator.rb +19 -0
- data/lib/strong_migrations/safe_methods.rb +33 -29
- data/lib/strong_migrations/schema_dumper.rb +21 -0
- data/lib/strong_migrations/version.rb +1 -1
- data/lib/strong_migrations.rb +38 -225
- data/lib/tasks/strong_migrations.rake +2 -7
- metadata +15 -78
- data/lib/strong_migrations/alphabetize_columns.rb +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f6462f35144a092664bb7456db2a1ad402695c6b5b1ba7001c1f1f977ea88d3e
|
|
4
|
+
data.tar.gz: fc71c84ae237b8dbbd3413af7b47ab4fa9962dcbbdd6b3e99b9edd816d3ae009
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c4e5bf21e4bb42046fc2d4a530e40d9fc5f843db7c630779789934ec1a47965398e6b637707dc6a7106eb339ef26231ecfea73c312fd9a04f66f96504fcdc6a
|
|
7
|
+
data.tar.gz: 542be70454fa38a8ad0c29e6bedcf670e54323ff8d9ae8f5eb59756476bbbaca6092a15f09c54163714e3db83261a8554e1fe51b00da8ad05ca7667a4612c3c8
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,136 @@
|
|
|
1
|
+
## 1.8.0 (2024-03-11)
|
|
2
|
+
|
|
3
|
+
- Added check for `add_column` with auto-incrementing columns
|
|
4
|
+
- Updated instructions for removing a column to append to `ignored_columns`
|
|
5
|
+
- Fixed check for adding a column with a default value for MySQL and MariaDB
|
|
6
|
+
|
|
7
|
+
## 1.7.0 (2024-01-05)
|
|
8
|
+
|
|
9
|
+
- Added check for `add_unique_constraint`
|
|
10
|
+
|
|
11
|
+
## 1.6.4 (2023-10-17)
|
|
12
|
+
|
|
13
|
+
- Fixed false positives with `revert`
|
|
14
|
+
|
|
15
|
+
## 1.6.3 (2023-09-20)
|
|
16
|
+
|
|
17
|
+
- Added support for Trilogy
|
|
18
|
+
|
|
19
|
+
## 1.6.2 (2023-09-13)
|
|
20
|
+
|
|
21
|
+
- Fixed foreign key options with `add_reference` and `safe_by_default`
|
|
22
|
+
- Fixed `safety_assured` with `revert`
|
|
23
|
+
|
|
24
|
+
## 1.6.1 (2023-08-09)
|
|
25
|
+
|
|
26
|
+
- Fixed `safety_assured` for custom checks with `safe_by_default`
|
|
27
|
+
|
|
28
|
+
## 1.6.0 (2023-07-22)
|
|
29
|
+
|
|
30
|
+
- Added check for `change_column_default`
|
|
31
|
+
|
|
32
|
+
## 1.5.0 (2023-07-02)
|
|
33
|
+
|
|
34
|
+
- Added check for `add_column` with stored generated columns
|
|
35
|
+
- Fixed `add_reference` with `foreign_key` and `index: false`
|
|
36
|
+
|
|
37
|
+
## 1.4.4 (2023-03-08)
|
|
38
|
+
|
|
39
|
+
- Fixed `add_foreign_key` with `name` and `column` options with `safe_by_default`
|
|
40
|
+
|
|
41
|
+
## 1.4.3 (2023-02-19)
|
|
42
|
+
|
|
43
|
+
- Fixed check for `change_column` to account for charset with MySQL and MariaDB
|
|
44
|
+
|
|
45
|
+
## 1.4.2 (2023-01-29)
|
|
46
|
+
|
|
47
|
+
- Added `alphabetize_schema` option
|
|
48
|
+
|
|
49
|
+
## 1.4.1 (2023-01-05)
|
|
50
|
+
|
|
51
|
+
- Added support for multiple databases to `target_version`
|
|
52
|
+
|
|
53
|
+
## 1.4.0 (2022-10-31)
|
|
54
|
+
|
|
55
|
+
- Added check for `add_exclusion_constraint`
|
|
56
|
+
- Added support for `RACK_ENV`
|
|
57
|
+
- Fixed error when `Rails` defined without `Rails.env`
|
|
58
|
+
- Fixed error with `change_column_null` when table does not exist
|
|
59
|
+
|
|
60
|
+
## 1.3.2 (2022-10-09)
|
|
61
|
+
|
|
62
|
+
- Improved error message for `add_column` with `default: nil` with Postgres 10
|
|
63
|
+
|
|
64
|
+
## 1.3.1 (2022-09-21)
|
|
65
|
+
|
|
66
|
+
- Fixed check for `add_column` with `default: nil` with Postgres 10
|
|
67
|
+
|
|
68
|
+
## 1.3.0 (2022-08-30)
|
|
69
|
+
|
|
70
|
+
- Added check for `add_column` with `uuid` type and volatile default value
|
|
71
|
+
|
|
72
|
+
## 1.2.0 (2022-06-10)
|
|
73
|
+
|
|
74
|
+
- Added check for index corruption with Postgres 14.0 to 14.3
|
|
75
|
+
|
|
76
|
+
## 1.1.0 (2022-06-08)
|
|
77
|
+
|
|
78
|
+
- Added check for `force` option with `create_join_table`
|
|
79
|
+
- Improved errors for extra arguments
|
|
80
|
+
- Fixed ignoring extra arguments with `safe_by_default`
|
|
81
|
+
- Fixed missing options with `remove_index` and `safe_by_default`
|
|
82
|
+
|
|
83
|
+
## 1.0.0 (2022-03-21)
|
|
84
|
+
|
|
85
|
+
New safe operations with MySQL and MariaDB
|
|
86
|
+
|
|
87
|
+
- Setting `NOT NULL` on an existing column with strict mode enabled
|
|
88
|
+
|
|
89
|
+
New safe operations with Postgres
|
|
90
|
+
|
|
91
|
+
- Changing between `text` and `citext` when not indexed
|
|
92
|
+
- Changing a `string` column to a `citext` column when not indexed
|
|
93
|
+
- Changing a `citext` column to a `string` column with no `:limit` when not indexed
|
|
94
|
+
- Changing a `cidr` column to an `inet` column
|
|
95
|
+
- Increasing `:precision` of an `interval` or `time` column
|
|
96
|
+
|
|
97
|
+
New unsafe operations with Postgres
|
|
98
|
+
|
|
99
|
+
- Adding a column with a callable default value
|
|
100
|
+
- Decreasing `:precision` of a `datetime` column
|
|
101
|
+
- Decreasing `:limit` of a `timestamptz` column
|
|
102
|
+
- Passing a default value to `change_column_null`
|
|
103
|
+
|
|
104
|
+
Other
|
|
105
|
+
|
|
106
|
+
- Added experimental support for lock timeout retries
|
|
107
|
+
- Added `target_sql_mode` option
|
|
108
|
+
- Added error for `change_column_null` with default value with `safe_by_default` option
|
|
109
|
+
- Fixed instructions for `remove_columns` with options
|
|
110
|
+
- Dropped support for Postgres < 10, MySQL < 5.7, and MariaDB < 10.2
|
|
111
|
+
|
|
112
|
+
## 0.8.0 (2022-02-09)
|
|
113
|
+
|
|
114
|
+
- Fixed error with versioned schema with Active Record 7.0.2+
|
|
115
|
+
- Dropped support for Ruby < 2.6 and Active Record < 5.2
|
|
116
|
+
|
|
117
|
+
## 0.7.9 (2021-12-15)
|
|
118
|
+
|
|
119
|
+
- Fixed error with multiple databases with Active Record 7
|
|
120
|
+
|
|
121
|
+
## 0.7.8 (2021-08-03)
|
|
122
|
+
|
|
123
|
+
- Fixed issue with `add_reference ..., foreign_key: {to_table: ...}` with `safe_by_default`
|
|
124
|
+
|
|
125
|
+
## 0.7.7 (2021-06-07)
|
|
126
|
+
|
|
127
|
+
- Removed timeouts and `auto_analyze` from schema load
|
|
128
|
+
|
|
129
|
+
## 0.7.6 (2021-01-17)
|
|
130
|
+
|
|
131
|
+
- Fixed `NOT NULL` constraint check for quoted columns
|
|
132
|
+
- Fixed deprecation warning with Active Record 6.1
|
|
133
|
+
|
|
1
134
|
## 0.7.5 (2021-01-12)
|
|
2
135
|
|
|
3
136
|
- Added checks for `add_check_constraint` and `validate_check_constraint`
|
|
@@ -122,7 +255,7 @@
|
|
|
122
255
|
## 0.2.2 (2018-02-14)
|
|
123
256
|
|
|
124
257
|
- Friendlier output
|
|
125
|
-
- Better method of hooking into
|
|
258
|
+
- Better method of hooking into Active Record
|
|
126
259
|
|
|
127
260
|
## 0.2.1 (2018-02-07)
|
|
128
261
|
|
data/LICENSE.txt
CHANGED