ridgepole 0.9.4 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.simplecov +1 -1
  4. data/Appraisals +4 -0
  5. data/CHANGELOG.md +246 -0
  6. data/README.md +20 -151
  7. data/bin/ridgepole +83 -85
  8. data/docker-compose.yml +26 -18
  9. data/gemfiles/activerecord_7.0.gemfile +7 -0
  10. data/lib/ridgepole/delta.rb +1 -1
  11. data/lib/ridgepole/diff.rb +4 -1
  12. data/lib/ridgepole/execute_expander.rb +4 -1
  13. data/lib/ridgepole/ext/abstract_adapter/disable_table_options.rb +1 -0
  14. data/lib/ridgepole/external_sql_executer.rb +11 -13
  15. data/lib/ridgepole/version.rb +1 -1
  16. data/ridgepole.gemspec +11 -7
  17. metadata +16 -289
  18. data/.github/workflows/test.yml +0 -70
  19. data/.gitignore +0 -25
  20. data/spec/cli_helper.rb +0 -65
  21. data/spec/dsl_parser/context_spec.rb +0 -16
  22. data/spec/erb_helper.rb +0 -26
  23. data/spec/fixtures/for_require_relative_spec.rb +0 -3
  24. data/spec/hide_pending_formatter.rb +0 -9
  25. data/spec/mysql/_migrate/migrate_change_table_option_spec.rb +0 -40
  26. data/spec/mysql/bigint_pk/int_pk_spec.rb +0 -47
  27. data/spec/mysql/cli/config_spec.rb +0 -210
  28. data/spec/mysql/cli/ridgepole_spec.rb +0 -447
  29. data/spec/mysql/collation/collation_spec.rb +0 -153
  30. data/spec/mysql/comment/comment_spec.rb +0 -179
  31. data/spec/mysql/default_lambda/default_lambda_spec.rb +0 -164
  32. data/spec/mysql/diff/diff2_spec.rb +0 -189
  33. data/spec/mysql/diff/diff_spec.rb +0 -168
  34. data/spec/mysql/dump/dump_class_method_spec.rb +0 -74
  35. data/spec/mysql/dump/dump_some_tables_spec.rb +0 -70
  36. data/spec/mysql/dump/dump_spec.rb +0 -74
  37. data/spec/mysql/dump/dump_unknown_column_type_spec.rb +0 -28
  38. data/spec/mysql/dump/dump_without_table_options_spec.rb +0 -34
  39. data/spec/mysql/fk/migrate_change_fk2_spec.rb +0 -47
  40. data/spec/mysql/fk/migrate_change_fk_spec.rb +0 -265
  41. data/spec/mysql/fk/migrate_create_fk_spec.rb +0 -349
  42. data/spec/mysql/fk/migrate_drop_fk_spec.rb +0 -331
  43. data/spec/mysql/fk/migrate_fk_with_column_spec.rb +0 -163
  44. data/spec/mysql/fk/migrate_ignore_fk_spec.rb +0 -70
  45. data/spec/mysql/migrate/check_orphan_index_spec.rb +0 -83
  46. data/spec/mysql/migrate/migrate_add_column2_spec.rb +0 -159
  47. data/spec/mysql/migrate/migrate_add_column_order_spec.rb +0 -242
  48. data/spec/mysql/migrate/migrate_add_column_spec.rb +0 -161
  49. data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +0 -276
  50. data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +0 -152
  51. data/spec/mysql/migrate/migrate_change_column2_spec.rb +0 -91
  52. data/spec/mysql/migrate/migrate_change_column3_spec.rb +0 -404
  53. data/spec/mysql/migrate/migrate_change_column4_spec.rb +0 -83
  54. data/spec/mysql/migrate/migrate_change_column5_spec.rb +0 -129
  55. data/spec/mysql/migrate/migrate_change_column6_spec.rb +0 -241
  56. data/spec/mysql/migrate/migrate_change_column7_spec.rb +0 -34
  57. data/spec/mysql/migrate/migrate_change_column8_spec.rb +0 -87
  58. data/spec/mysql/migrate/migrate_change_column_default_spec.rb +0 -199
  59. data/spec/mysql/migrate/migrate_change_column_float_spec.rb +0 -75
  60. data/spec/mysql/migrate/migrate_change_column_spec.rb +0 -158
  61. data/spec/mysql/migrate/migrate_change_index2_spec.rb +0 -86
  62. data/spec/mysql/migrate/migrate_change_index3_spec.rb +0 -179
  63. data/spec/mysql/migrate/migrate_change_index4_spec.rb +0 -112
  64. data/spec/mysql/migrate/migrate_change_index5_spec.rb +0 -74
  65. data/spec/mysql/migrate/migrate_change_index6_spec.rb +0 -202
  66. data/spec/mysql/migrate/migrate_change_index7_spec.rb +0 -85
  67. data/spec/mysql/migrate/migrate_change_index8_spec.rb +0 -85
  68. data/spec/mysql/migrate/migrate_change_index_spec.rb +0 -235
  69. data/spec/mysql/migrate/migrate_change_table_comment_spec.rb +0 -72
  70. data/spec/mysql/migrate/migrate_change_table_option_spec.rb +0 -83
  71. data/spec/mysql/migrate/migrate_check_relation_column_type_spec.rb +0 -225
  72. data/spec/mysql/migrate/migrate_create_index2_spec.rb +0 -203
  73. data/spec/mysql/migrate/migrate_create_index_spec.rb +0 -220
  74. data/spec/mysql/migrate/migrate_create_table_spec.rb +0 -123
  75. data/spec/mysql/migrate/migrate_create_table_with_ignore_spec.rb +0 -45
  76. data/spec/mysql/migrate/migrate_create_table_with_index_spec.rb +0 -43
  77. data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +0 -59
  78. data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +0 -132
  79. data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +0 -140
  80. data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +0 -167
  81. data/spec/mysql/migrate/migrate_drop_column_and_unique_index_spec.rb +0 -52
  82. data/spec/mysql/migrate/migrate_drop_column_spec.rb +0 -158
  83. data/spec/mysql/migrate/migrate_drop_index_spec.rb +0 -160
  84. data/spec/mysql/migrate/migrate_drop_table_spec.rb +0 -123
  85. data/spec/mysql/migrate/migrate_duplicate_index_spec.rb +0 -27
  86. data/spec/mysql/migrate/migrate_duplicate_table_spec.rb +0 -37
  87. data/spec/mysql/migrate/migrate_empty_spec.rb +0 -78
  88. data/spec/mysql/migrate/migrate_execute_spec.rb +0 -288
  89. data/spec/mysql/migrate/migrate_ignore_column_spec.rb +0 -98
  90. data/spec/mysql/migrate/migrate_ignore_index_spec.rb +0 -92
  91. data/spec/mysql/migrate/migrate_log_file_spec.rb +0 -125
  92. data/spec/mysql/migrate/migrate_merge_mode_spec.rb +0 -145
  93. data/spec/mysql/migrate/migrate_noop_spec.rb +0 -234
  94. data/spec/mysql/migrate/migrate_primary_key_spec.rb +0 -104
  95. data/spec/mysql/migrate/migrate_rename_column_spec.rb +0 -184
  96. data/spec/mysql/migrate/migrate_rename_table_spec.rb +0 -241
  97. data/spec/mysql/migrate/migrate_same_default_null_spec.rb +0 -77
  98. data/spec/mysql/migrate/migrate_same_spec.rb +0 -82
  99. data/spec/mysql/migrate/migrate_script_error_spec.rb +0 -91
  100. data/spec/mysql/migrate/migrate_skip_column_comment_change_spec.rb +0 -39
  101. data/spec/mysql/migrate/migrate_skip_drop_table_spec.rb +0 -145
  102. data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +0 -140
  103. data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +0 -141
  104. data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +0 -307
  105. data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +0 -153
  106. data/spec/mysql/migrate/migrate_with_tables_spec.rb +0 -149
  107. data/spec/mysql/migrate/migrate_with_verbose_log_spec.rb +0 -60
  108. data/spec/mysql/ridgepole_test_database.sql +0 -2
  109. data/spec/mysql/ridgepole_test_tables.sql +0 -79
  110. data/spec/mysql/ridgepole_test_tables_unknown_column_type.sql +0 -17
  111. data/spec/mysql/text_blob_types/text_blob_types_spec.rb +0 -131
  112. data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +0 -59
  113. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +0 -133
  114. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +0 -100
  115. data/spec/mysql/~dump_auto_increment/migrate_create_table_with_index_spec.rb +0 -43
  116. data/spec/mysql57/json/add_json_column_spec.rb +0 -35
  117. data/spec/mysql57/json/change_json_column_spec.rb +0 -102
  118. data/spec/mysql57/json/drop_json_column_spec.rb +0 -35
  119. data/spec/mysql57/virtual/add_virtual_column_spec.rb +0 -37
  120. data/spec/mysql57/virtual/change_virtual_column_spec.rb +0 -40
  121. data/spec/mysql57/virtual/drop_virtual_column_spec.rb +0 -37
  122. data/spec/postgresql/diff/diff_spec.rb +0 -216
  123. data/spec/postgresql/dump/dump_spec.rb +0 -69
  124. data/spec/postgresql/fk/migrate_change_fk_spec.rb +0 -115
  125. data/spec/postgresql/fk/migrate_create_fk_spec.rb +0 -176
  126. data/spec/postgresql/fk/migrate_drop_fk_spec.rb +0 -197
  127. data/spec/postgresql/migrate/migrate_add_column_spec.rb +0 -203
  128. data/spec/postgresql/migrate/migrate_add_expression_index_spec.rb +0 -25
  129. data/spec/postgresql/migrate/migrate_bigint_spec.rb +0 -53
  130. data/spec/postgresql/migrate/migrate_change_column_default_spec.rb +0 -38
  131. data/spec/postgresql/migrate/migrate_change_column_spec.rb +0 -185
  132. data/spec/postgresql/migrate/migrate_change_index_spec.rb +0 -164
  133. data/spec/postgresql/migrate/migrate_check_relation_column_type_spec.rb +0 -114
  134. data/spec/postgresql/migrate/migrate_create_table_spec.rb +0 -120
  135. data/spec/postgresql/migrate/migrate_create_table_with_default_proc_spec.rb +0 -112
  136. data/spec/postgresql/migrate/migrate_drop_column_spec.rb +0 -163
  137. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +0 -166
  138. data/spec/postgresql/migrate/migrate_drop_expression_index_spec.rb +0 -59
  139. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +0 -158
  140. data/spec/postgresql/migrate/migrate_drop_table_spec.rb +0 -122
  141. data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +0 -64
  142. data/spec/postgresql/migrate/migrate_primary_key2_spec.rb +0 -73
  143. data/spec/postgresql/migrate/migrate_primary_key_spec.rb +0 -99
  144. data/spec/postgresql/migrate/migrate_references_spec.rb +0 -90
  145. data/spec/postgresql/migrate/migrate_rename_column_spec.rb +0 -155
  146. data/spec/postgresql/migrate/migrate_rename_table_spec.rb +0 -175
  147. data/spec/postgresql/migrate/migrate_same_spec.rb +0 -77
  148. data/spec/postgresql/ridgepole_test_database.sql +0 -16
  149. data/spec/postgresql/ridgepole_test_tables.sql +0 -75
  150. data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +0 -59
  151. data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +0 -134
  152. data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +0 -100
  153. data/spec/processing_for_ci.rb +0 -13
  154. data/spec/spec_condition.rb +0 -58
  155. data/spec/spec_const.rb +0 -20
  156. data/spec/spec_helper.rb +0 -173
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b1fa89270221dcad6cdfa188a879de277c0ed1ea8672d2d9456b3057fe70ac1
4
- data.tar.gz: 1d30c79ae7adf620347c70f769a12e0cb01e38fdf799cf6cbe67f952ab014d9c
3
+ metadata.gz: df3bfdcffa2eb5efe360debc1e37b578cde066eca7c9893f38cd110cab576b31
4
+ data.tar.gz: 44af328c711fe5f4d9cf2accbf5eef8a0738daa7b7047cfb47c0ec403ee34149
5
5
  SHA512:
6
- metadata.gz: 853d1138335b2c697c7f84d1beceae743badacc2891fd05bb8d9349c7b8c10d763516d5d2c6e63d88a7f60d0c0f887270baa03738cc3496409bca6609990097c
7
- data.tar.gz: f4b38e66c8a5295bdc7241a407b5a2c848a3558d6421a1cbe12520f5cd85aff08154783d353f0fc2d7ce4798f620e31e5b59fc31f2225ec4d52fefc33e8dec14
6
+ metadata.gz: f2d96fd5d2683583ea72cb91fcb7659c8c9f2d76b9e3b323b0eb1af99cbb737c3f7e79888aefd6b71e850ac6a34e4c7b291bcff141574bc43a28ac112efc4d2b
7
+ data.tar.gz: d191764d26bfb55e70a95ef9f1a806a22e97746b54dcf1616cb3e4ae58425b2d187b9d3c023f70e62c1f6a507546888871e8a5ccb410a87dd1b22601b2b71902
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ AllCops:
3
3
  - "gemfiles/**/*"
4
4
  - "omnibus-ridgepole/**/*"
5
5
  - "vendor/bundle/**/*"
6
- TargetRubyVersion: 2.4
6
+ TargetRubyVersion: 2.5
7
7
  NewCops: enable
8
8
  Bundler/OrderedGems:
9
9
  Include:
data/.simplecov CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- SimpleCov.start do
3
+ SimpleCov.configure do
4
4
  # exclude directories and files
5
5
  add_filter '/spec/'
6
6
  end
data/Appraisals CHANGED
@@ -16,3 +16,7 @@ end
16
16
  appraise 'activerecord-6.1' do
17
17
  gem 'activerecord', '~> 6.1.0'
18
18
  end
19
+
20
+ appraise 'activerecord-7.0' do
21
+ gem 'activerecord', '~> 7.0.0'
22
+ end
data/CHANGELOG.md ADDED
@@ -0,0 +1,246 @@
1
+ # Changelog
2
+
3
+ ## 1.0
4
+
5
+ ### 1.0.1 (2022/01/15)
6
+
7
+ * Fix code for RuboCop 1.24.1
8
+ * Fix PostgreSQL spec for Rails 7.0
9
+ * Update ERBh gem (for development)
10
+
11
+ ### 1.0.0 (2021/12/19)
12
+
13
+ * Support Rails 7.0
14
+ * `--skip-drop-table` by default ([pull#363](https://github.com/ridgepole/ridgepole/pull/363))
15
+
16
+ ## 0.9
17
+
18
+ ### 0.9.6
19
+
20
+ * Fix malformed error ([pull#362](https://github.com/ridgepole/ridgepole/pull/362))
21
+
22
+ ### 0.9.5
23
+
24
+ * Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/ridgepole/ridgepole/pull/357))
25
+
26
+ ### 0.9.4
27
+
28
+ * Fix `--alter-extra` option for unique index ([pull#356](https://github.com/ridgepole/ridgepole/pull/356))
29
+
30
+ ### 0.9.3
31
+
32
+ * Fix `limit` option for `t.integer` ([pull#354](https://github.com/ridgepole/ridgepole/pull/354))
33
+
34
+ ### 0.9.2
35
+
36
+ * Support `t.column index option` ([pull#353](https://github.com/ridgepole/ridgepole/pull/353))
37
+
38
+ ### 0.9.1
39
+
40
+ * Support `t.foreign_key` ([pull#348](https://github.com/ridgepole/ridgepole/pull/348))
41
+
42
+ ### 0.9.0
43
+
44
+ * Remove `--mysql-use-alter` option ([pull#330](https://github.com/ridgepole/ridgepole/pull/330))
45
+ * Add `--table-hash-options` option ([pull#331](https://github.com/ridgepole/ridgepole/pull/331))
46
+ * Support Rails 6.1 ([pull#323](https://github.com/ridgepole/ridgepole/pull/323))
47
+ * Disable Rails 5.0 support ([pull#335](https://github.com/ridgepole/ridgepole/pull/335))
48
+ * Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/ridgepole/ridgepole/pull/334))
49
+
50
+ ## 0.8
51
+
52
+ ### 0.8.13
53
+
54
+ * Support `serial` and `bigserial` column types ([pull#321](https://github.com/ridgepole/ridgepole/pull/321))
55
+
56
+ ### 0.8.12
57
+
58
+ * Pluralize column specified by `references` ([pull#317](https://github.com/ridgepole/ridgepole/pull/317))
59
+
60
+ ### 0.8.11
61
+
62
+ * Fix FK index check support multiple PK ([pull#315](https://github.com/ridgepole/ridgepole/pull/315))
63
+ * Support t.reference() foreign_key option ([pull#316](https://github.com/ridgepole/ridgepole/pull/316))
64
+
65
+ ### 0.8.10
66
+
67
+ * Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/ridgepole/ridgepole/pull/310))
68
+
69
+ ### 0.8.9
70
+
71
+ * Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/ridgepole/ridgepole/pull/306))
72
+ * Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/ridgepole/ridgepole/pull/307))
73
+
74
+ ### 0.8.8
75
+
76
+ * Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/ridgepole/ridgepole/pull/303))
77
+
78
+ ### 0.8.7
79
+
80
+ * Support `require_relative` ([pull#298](https://github.com/ridgepole/ridgepole/pull/298))
81
+
82
+ ### 0.8.6
83
+
84
+ * Support multiple databases feature ([pull#297](https://github.com/ridgepole/ridgepole/pull/297))
85
+
86
+ ### 0.8.5
87
+
88
+ * Improve warning message on table options ([pull#291](https://github.com/ridgepole/ridgepole/pull/291))
89
+
90
+ ### 0.8.4
91
+
92
+ * Display a warning if an InnoDB table doesn't have any indexes on a column where it has a foreign key ([pull#290](https://github.com/ridgepole/ridgepole/pull/290))
93
+
94
+ ### 0.8.3
95
+
96
+ * Fix "topological sort failed" error ([pull#287](https://github.com/ridgepole/ridgepole/pull/287))
97
+
98
+ ### 0.8.2
99
+
100
+ * Support `postgres://` schema ([pull#285](https://github.com/ridgepole/ridgepole/pull/285))
101
+
102
+ ### 0.8.1
103
+
104
+ * Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/ridgepole/ridgepole/pull/284))
105
+
106
+ ### 0.8.0
107
+
108
+ * Support Rails 6.0
109
+
110
+ ## 0.7
111
+
112
+ ### 0.7.8
113
+
114
+ * Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/ridgepole/ridgepole/pull/278))
115
+
116
+ ### 0.7.7
117
+
118
+ * Support URI query string ([pull#273](https://github.com/ridgepole/ridgepole/pull/273))
119
+
120
+ ### 0.7.6
121
+
122
+ * Fix database url check ([pull#266](https://github.com/ridgepole/ridgepole/pull/266))
123
+ * Add ignore option ([pull#267](https://github.com/ridgepole/ridgepole/pull/267))
124
+
125
+ ### 0.7.5
126
+
127
+ * Fix polymorphic options ([pull#263](https://github.com/ridgepole/ridgepole/pull/263))
128
+ * Fix `--mysql-use-alter` option ([pull#246](https://github.com/ridgepole/ridgepole/pull/264))
129
+ * Fix Database URI parsing ([pull#265](https://github.com/ridgepole/ridgepole/pull/265))
130
+
131
+ ### 0.7.4
132
+
133
+ * Fix `add_foreign_key` options ([issue#250](https://github.com/ridgepole/ridgepole/issues/250))
134
+
135
+ ### 0.7.3
136
+
137
+ * Add `--mysql-change-table-comment option` ([pull#166](https://github.com/ridgepole/ridgepole/pull/166))
138
+ * Refactoring with RuboCop
139
+ * Support primary key adding/dropping ([issue#246](https://github.com/ridgepole/ridgepole/issues/246))
140
+
141
+ ### 0.7.2
142
+
143
+ * Support Rails 5.2
144
+
145
+ ### 0.7.1
146
+
147
+ * Remove `--reverse` option
148
+ * Add `--allow-pk-change` option
149
+ * Add `--create-table-with-index` option
150
+ * Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
151
+
152
+ ### 0.7.0
153
+
154
+ * Remove Rails 4.x support
155
+ * Add Rails 5.1 support
156
+ * Remove `--enable-mysql-awesome` option
157
+ * Add `--skip-drop-table` option
158
+ * Support foreign key without name
159
+ * Support MySQL JSON Type and Generated Columns
160
+ * Add `--mysql-change-table-options` option
161
+ * Pass config from env
162
+ * Fix change fk order
163
+ * Add `--check-relation-type` option
164
+ * Add `--skip-column-comment-change` option
165
+ * Add `--default-bigint-limit` option
166
+ * Add `--ignore-table-comment` option
167
+
168
+ ## 0.6
169
+
170
+ ### 0.6.6
171
+
172
+ * Use `t.column` for migration ([pull#114](https://github.com/ridgepole/ridgepole/pull/114))
173
+ * Support DATABASE_URL format ([pull#118](https://github.com/ridgepole/ridgepole/pull/118))
174
+ * Add Ruby2.4 CI ([pull#119](https://github.com/ridgepole/ridgepole/pull/119))
175
+
176
+ ### 0.6.5
177
+
178
+ * Fix rails version `'>= 4.2', '< 6'`
179
+ * Support new types ([pull#84](https://github.com/ridgepole/ridgepole/pull/84))
180
+ * Support `default: -> { ... }` ([pull#85](https://github.com/ridgepole/ridgepole/pull/85))
181
+ * Support DDL Comment (Rails5 only)
182
+ * Output schema diff when pass `--verbose`
183
+ * Support composite primary key (Rails5 only / [pull#97](https://github.com/ridgepole/ridgepole/pull/97))
184
+
185
+ ### 0.6.4
186
+
187
+ * Execute sql using external script ([pull#56](https://github.com/ridgepole/ridgepole/pull/56))
188
+ * Add `--mysql-use-alter` option
189
+ * Add `--alter-extra` option
190
+ * Add `--dump-with-default-fk-name` option
191
+ * Support `t.index` ([pull#64](https://github.com/ridgepole/ridgepole/pull/64))
192
+ * Remove migration_comments
193
+ * Fix foreign key apply order
194
+
195
+ ### 0.6.3
196
+
197
+ * Fix `default` option ([pull#48](https://github.com/ridgepole/ridgepole/pull/48))
198
+ * Add `--enable-migration-comments` option ([pull#50](https://github.com/ridgepole/ridgepole/pull/50))
199
+ * Disable `rename_table_indexes`
200
+
201
+ ### 0.6.1
202
+
203
+ * Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
204
+
205
+ ### 0.6.0
206
+
207
+ * Fix rails version `~> 4.2.1`
208
+ * Disable following libraries support:
209
+ * activerecord-mysql-unsigned
210
+ * migration_comments
211
+ * foreigner
212
+ * Disable sqlite support
213
+ * Add PostgreSQL test
214
+ * Remove `--mysql-awesome-unsigned-pk` option
215
+
216
+ ## 0.5
217
+
218
+ ### 0.5.2
219
+
220
+ * Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
221
+ * It is not possible to enable both `--enable-mysql-awesome` and `--enable-migration-comments`, `--enable-mysql-awesome` and `--enable-mysql-unsigned`, `--enable-mysql-awesome` and `--enable-mysql-pkdump`
222
+ * Fix foreigner version `<= 1.7.1`
223
+
224
+ ### 0.5.1
225
+
226
+ * Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
227
+ * Fix rails version `< 4.2.0`
228
+
229
+ ### 0.5.0
230
+
231
+ * Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
232
+
233
+ ## 0.4
234
+
235
+ ### 0.4.12
236
+
237
+ * Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
238
+
239
+ ### 0.4.11
240
+
241
+ * Add `--enable-mysql-pkdump` option.
242
+
243
+ ### 0.4.8
244
+
245
+ * `activerecord-mysql-unsigned` is now optional. Please pass `--enable-mysql-unsigned` after you install [activerecord-mysql-unsigned](https://github.com/waka/activerecord-mysql-unsigned) if you want to use.
246
+ * Please pass `--enable-foreigner` after you install [foreigner](https://github.com/matthuhiggins/foreigner) if you want to use the foreign key.
data/README.md CHANGED
@@ -6,152 +6,20 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
6
6
  (like Chef/Puppet)
7
7
 
8
8
  [![Gem Version](https://badge.fury.io/rb/ridgepole.svg)](http://badge.fury.io/rb/ridgepole)
9
- [![Build Status](https://github.com/winebarrel/ridgepole/workflows/test/badge.svg?branch=0.9)](https://github.com/winebarrel/ridgepole/actions)
10
- [![Coverage Status](https://coveralls.io/repos/github/winebarrel/ridgepole/badge.svg?branch=0.9)](https://coveralls.io/github/winebarrel/ridgepole?branch=0.9)
11
-
12
- <details><summary>ChangeLog</summary>
13
-
14
- * `>= 0.4.8`
15
- * `activerecord-mysql-unsigned` is now optional. Please pass `--enable-mysql-unsigned` after you install [activerecord-mysql-unsigned](https://github.com/waka/activerecord-mysql-unsigned) if you want to use.
16
- * Please pass `--enable-foreigner` after you install [foreigner](https://github.com/matthuhiggins/foreigner) if you want to use the foreign key.
17
- * `>= 0.4.11`
18
- * Add `--enable-mysql-pkdump` option.
19
- * `>= 0.4.12`
20
- * Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
21
- * `>= 0.5.0`
22
- * Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
23
- * `>= 0.5.1`
24
- * Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
25
- * Fix rails version `< 4.2.0`
26
- * `>= 0.5.2`
27
- * Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
28
- * It is not possible to enable both `--enable-mysql-awesome` and `--enable-migration-comments`, `--enable-mysql-awesome` and `--enable-mysql-unsigned`, `--enable-mysql-awesome` and `--enable-mysql-pkdump`
29
- * Fix foreigner version `<= 1.7.1`
30
- * `>= 0.6.0`
31
- * Fix rails version `~> 4.2.1`
32
- * Disable following libraries support:
33
- * activerecord-mysql-unsigned
34
- * migration_comments
35
- * foreigner
36
- * Disable sqlite support
37
- * Add PostgreSQL test
38
- * Remove `--mysql-awesome-unsigned-pk` option
39
- * `>= 0.6.1`
40
- * Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
41
- * `>= 0.6.3`
42
- * Fix `default` option ([pull#48](https://github.com/winebarrel/ridgepole/pull/48))
43
- * Add `--enable-migration-comments` option ([pull#50](https://github.com/winebarrel/ridgepole/pull/50))
44
- * Disable `rename_table_indexes`
45
- * `>= 0.6.4`
46
- * Execute sql using external script ([pull#56](https://github.com/winebarrel/ridgepole/pull/56))
47
- * Add `--mysql-use-alter` option
48
- * Add `--alter-extra` option
49
- * Add `--dump-with-default-fk-name` option
50
- * Support `t.index` ([pull#64](https://github.com/winebarrel/ridgepole/pull/64))
51
- * Remove migration_comments
52
- * Fix foreign key apply order
53
- * `>= 0.6.5`
54
- * Fix rails version `'>= 4.2', '< 6'`
55
- * Support new types ([pull#84](https://github.com/winebarrel/ridgepole/pull/84))
56
- * Support `default: -> { ... }` ([pull#85](https://github.com/winebarrel/ridgepole/pull/85))
57
- * Support DDL Comment (Rails5 only)
58
- * Output schema diff when pass `--verbose`
59
- * Support composite primary key (Rails5 only / [pull#97](https://github.com/winebarrel/ridgepole/pull/97))
60
- * `>= 0.6.6`
61
- * Use `t.column` for migration ([pull#114](https://github.com/winebarrel/ridgepole/pull/114))
62
- * Support DATABASE_URL format ([pull#118](https://github.com/winebarrel/ridgepole/pull/118))
63
- * Add Ruby2.4 CI ([pull#119](https://github.com/winebarrel/ridgepole/pull/119))
64
- * `>= 0.7.0`
65
- * Remove Rails 4.x support
66
- * Add Rails 5.1 support
67
- * Remove `--enable-mysql-awesome` option
68
- * Add `--skip-drop-table` option
69
- * Support foreign key without name
70
- * Support MySQL JSON Type and Generated Columns
71
- * Add `--mysql-change-table-options` option
72
- * Pass config from env
73
- * Fix change fk order
74
- * Add `--check-relation-type` option
75
- * Add `--skip-column-comment-change` option
76
- * Add `--default-bigint-limit` option
77
- * Add `--ignore-table-comment` option
78
- * `>= 0.7.1`
79
- * Remove `--reverse` option
80
- * Add `--allow-pk-change` option
81
- * Add `--create-table-with-index` option
82
- * Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
83
- * `>= 0.7.2`
84
- * Support Rails 5.2
85
- * `>= 0.7.3`
86
- * Add `--mysql-change-table-comment option` ([pull#166](https://github.com/winebarrel/ridgepole/pull/166))
87
- * Refactoring with RuboCop
88
- * Support primary key adding/dropping ([issue#246](https://github.com/winebarrel/ridgepole/issues/246))
89
- * `>= 0.7.4`
90
- * Fix `add_foreign_key` options ([issue#250](https://github.com/winebarrel/ridgepole/issues/250))
91
- * `>= 0.7.5`
92
- * Fix polymorphic options ([pull#263](https://github.com/winebarrel/ridgepole/pull/263))
93
- * Fix `--mysql-use-alter` option ([pull#246](https://github.com/winebarrel/ridgepole/pull/264))
94
- * Fix Database URI parsing ([pull#265](https://github.com/winebarrel/ridgepole/pull/265))
95
- * `>= 0.7.6`
96
- * Fix database url check ([pull#266](https://github.com/winebarrel/ridgepole/pull/266))
97
- * Add ignore option ([pull#267](https://github.com/winebarrel/ridgepole/pull/267))
98
- * `>= 0.7.7`
99
- * Support URI query string ([pull#273](https://github.com/winebarrel/ridgepole/pull/273))
100
- * `>= 0.7.8`
101
- * Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/winebarrel/ridgepole/pull/278))
102
- * `>= 0.8.0`
103
- * Support Rails 6.0
104
- * `>= 0.8.1`
105
- * Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/winebarrel/ridgepole/pull/284))
106
- * `>= 0.8.2`
107
- * Support `postgres://` schema ([pull#285](https://github.com/winebarrel/ridgepole/pull/285))
108
- * `>= 0.8.3`
109
- * Fix "topological sort failed" error ([pull#287](https://github.com/winebarrel/ridgepole/pull/287))
110
- * `>= 0.8.4`
111
- * Display a warning if an InnoDB table doesn't have any indexes on a column where it has a foreign key ([pull#290](https://github.com/winebarrel/ridgepole/pull/290))
112
- * `>= 0.8.5`
113
- * Improve warning message on table options ([pull#291](https://github.com/winebarrel/ridgepole/pull/291))
114
- * `>= 0.8.6`
115
- * Support multiple databases feature ([pull#297](https://github.com/winebarrel/ridgepole/pull/297))
116
- * `>= 0.8.7`
117
- * Support `require_relative` ([pull#298](https://github.com/winebarrel/ridgepole/pull/298))
118
- * `>= 0.8.8`
119
- * Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/winebarrel/ridgepole/pull/303))
120
- * `>= 0.8.9`
121
- * Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/winebarrel/ridgepole/pull/306))
122
- * Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/winebarrel/ridgepole/pull/307))
123
- * `>= 0.8.10`
124
- * Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/winebarrel/ridgepole/pull/310))
125
- * `>= 0.8.11`
126
- * Fix FK index check support multiple PK ([pull#315](https://github.com/winebarrel/ridgepole/pull/315))
127
- * Support t.reference() foreign_key option ([pull#316](https://github.com/winebarrel/ridgepole/pull/316))
128
- * `>= 0.8.12`
129
- * Pluralize column specified by `references` ([pull#317](https://github.com/winebarrel/ridgepole/pull/317))
130
- * `>= 0.8.13`
131
- * Support `serial` and `bigserial` column types ([pull#321](https://github.com/winebarrel/ridgepole/pull/321))
132
- * `>= 0.9.0`
133
- * Remove `--mysql-use-alter` option ([pull#330](https://github.com/winebarrel/ridgepole/pull/330))
134
- * Add `--table-hash-options` option ([pull#331](https://github.com/winebarrel/ridgepole/pull/331))
135
- * Support Rails 6.1 ([pull#323](https://github.com/winebarrel/ridgepole/pull/323))
136
- * Disable Rails 5.0 support ([pull#335](https://github.com/winebarrel/ridgepole/pull/335))
137
- * Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/winebarrel/ridgepole/pull/334))
138
- * `>= 0.9.1`
139
- * Support `t.foreign_key` ([pull#348](https://github.com/winebarrel/ridgepole/pull/348))
140
- * `>= 0.9.2`
141
- * Support `t.column index option` ([pull#353](https://github.com/winebarrel/ridgepole/pull/353))
142
- * `>= 0.9.3`
143
- * Fix `limit` option for `t.integer` ([pull#354](https://github.com/winebarrel/ridgepole/pull/354))
144
- * `>= 0.9.4`
145
- * Fix `--alter-extra` option for unique index ([pull#356](https://github.com/winebarrel/ridgepole/pull/356))
146
- </details>
9
+ [![Build Status](https://github.com/ridgepole/ridgepole/workflows/test/badge.svg?branch=1.0)](https://github.com/ridgepole/ridgepole/actions)
10
+ [![Coverage Status](https://coveralls.io/repos/github/ridgepole/ridgepole/badge.svg?branch=1.0)](https://coveralls.io/github/ridgepole/ridgepole?branch=1.0)
147
11
 
148
12
  **Notice**
149
13
 
150
- 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.
151
-
152
- **If you use ActiveRecord 6.1, please modify Schemafile format**.
153
-
154
- cf. https://github.com/winebarrel/ridgepole/pull/323
14
+ * 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.
15
+ * **If you use ActiveRecord 6.1, please modify Schemafile format**.
16
+ * cf. https://github.com/ridgepole/ridgepole/pull/323
17
+ * `DROP TABLE` is skipped by default in v1.0 and later versions.
18
+ * If you want to `DROP TABLE`, please pass `--drop-table`.
19
+ * cf. https://github.com/ridgepole/ridgepole/pull/363
20
+ * In Rails 7.0, the output of dumper is different from Rails 6.
21
+ * cf. https://github.com/rails/rails/issues/43909
22
+ * cf. https://github.com/rails/rails/commit/c2a6f618d22cca4d9b7be7fa7652e7aac509350c#diff-55f41513f027a3d219629f475f03c2d1105ca55c5093d691e1b3dc4710c6cc0b
155
23
 
156
24
  ## Installation
157
25
 
@@ -202,7 +70,7 @@ Usage: ridgepole [options]
202
70
  --dump-without-table-options
203
71
  --dump-with-default-fk-name
204
72
  --index-removed-drop-column
205
- --skip-drop-table
73
+ --drop-table
206
74
  --mysql-change-table-options
207
75
  --mysql-change-table-comment
208
76
  --check-relation-type DEF_PK
@@ -435,16 +303,17 @@ Apply `Schemafile`
435
303
 
436
304
  ## Run tests
437
305
 
306
+
438
307
  ```sh
439
308
  docker-compose up -d
440
309
  bundle install
441
310
  bundle exec appraisal install
442
- bundle exec appraisal activerecord-5.1 rake
443
- # POSTGRESQL=1 bundle exec appraisal activerecord-5.1 rake
444
- # MYSQL57=1 bundle exec appraisal activerecord-5.1 rake
311
+ bundle exec appraisal activerecord-7.0 rake
312
+ # POSTGRESQL=1 bundle exec appraisal activerecord-7.0 rake
313
+ # MYSQL57=1 bundle exec appraisal activerecord-7.0 rake
445
314
  ```
446
315
 
447
- **Notice:** mysql-client/postgresql-client is required.
316
+ **Notice:** Ruby 2.6 or above/mysql-client/postgresql-client is required.
448
317
 
449
318
  ## Demo
450
319
 
@@ -453,6 +322,6 @@ bundle exec appraisal activerecord-5.1 rake
453
322
 
454
323
  ## Example project
455
324
 
456
- * https://github.com/winebarrel/ridgepole-example
457
- * https://github.com/winebarrel/ridgepole-example/pull/1
458
- * https://github.com/winebarrel/ridgepole-example/pull/2
325
+ * https://github.com/ridgepole/ridgepole-example
326
+ * https://github.com/ridgepole/ridgepole-example/pull/1
327
+ * https://github.com/ridgepole/ridgepole-example/pull/2