lazy_migrate 0.1.0 → 0.2.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/.gitignore +4 -0
- data/Appraisals +9 -0
- data/Gemfile.lock +133 -4
- data/Guardfile +39 -0
- data/README.md +56 -6
- data/Rakefile +1 -3
- data/bin/exe/lazy_migrate +14 -1
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/rails_5_1_5.gemfile +8 -0
- data/gemfiles/rails_5_1_5.gemfile.lock +170 -0
- data/gemfiles/rails_5_2_4_3.gemfile +8 -0
- data/gemfiles/rails_5_2_4_3.gemfile.lock +178 -0
- data/github/demo.gif +0 -0
- data/lazy_migrate.gemspec +9 -3
- data/lib/lazy_migrate.rb +6 -2
- data/lib/lazy_migrate/client.rb +123 -0
- data/lib/lazy_migrate/migration.rb +14 -0
- data/lib/lazy_migrate/migrator_adapter.rb +144 -0
- data/lib/lazy_migrate/migrator_adapter_factory.rb +24 -0
- data/lib/lazy_migrate/new_migrator_adapter.rb +85 -0
- data/lib/lazy_migrate/old_migrator_adapter.rb +97 -0
- data/lib/lazy_migrate/version.rb +2 -1
- data/lib/tasks/lazy_migrate.rake +10 -0
- data/sorbet/config +2 -0
- data/sorbet/rbi/gems/actioncable.rbi +393 -0
- data/sorbet/rbi/gems/actionmailer.rbi +425 -0
- data/sorbet/rbi/gems/actionpack.rbi +3230 -0
- data/sorbet/rbi/gems/actionview.rbi +1153 -0
- data/sorbet/rbi/gems/activejob.rbi +282 -0
- data/sorbet/rbi/gems/activemodel.rbi +742 -0
- data/sorbet/rbi/gems/activerecord.rbi +4004 -0
- data/sorbet/rbi/gems/activestorage.rbi +174 -0
- data/sorbet/rbi/gems/activesupport.rbi +2300 -0
- data/sorbet/rbi/gems/appraisal.rbi +151 -0
- data/sorbet/rbi/gems/arel.rbi +1253 -0
- data/sorbet/rbi/gems/byebug.rbi +1041 -0
- data/sorbet/rbi/gems/coderay.rbi +92 -0
- data/sorbet/rbi/gems/concurrent-ruby.rbi +1586 -0
- data/sorbet/rbi/gems/crass.rbi +93 -0
- data/sorbet/rbi/gems/erubi.rbi +27 -0
- data/sorbet/rbi/gems/globalid.rbi +99 -0
- data/sorbet/rbi/gems/i18n.rbi +192 -0
- data/sorbet/rbi/gems/loofah.rbi +131 -0
- data/sorbet/rbi/gems/mail.rbi +1092 -0
- data/sorbet/rbi/gems/marcel.rbi +13 -0
- data/sorbet/rbi/gems/method_source.rbi +64 -0
- data/sorbet/rbi/gems/mini_mime.rbi +52 -0
- data/sorbet/rbi/gems/minitest.rbi +282 -0
- data/sorbet/rbi/gems/nio4r.rbi +68 -0
- data/sorbet/rbi/gems/nokogiri.rbi +1011 -0
- data/sorbet/rbi/gems/pastel.rbi +119 -0
- data/sorbet/rbi/gems/pry-byebug.rbi +155 -0
- data/sorbet/rbi/gems/pry.rbi +1949 -0
- data/sorbet/rbi/gems/rack-test.rbi +162 -0
- data/sorbet/rbi/gems/rack.rbi +525 -0
- data/sorbet/rbi/gems/rails-dom-testing.rbi +68 -0
- data/sorbet/rbi/gems/rails-html-sanitizer.rbi +92 -0
- data/sorbet/rbi/gems/railties.rbi +724 -0
- data/sorbet/rbi/gems/rake.rbi +666 -0
- data/sorbet/rbi/gems/rspec-core.rbi +1939 -0
- data/sorbet/rbi/gems/rspec-expectations.rbi +1123 -0
- data/sorbet/rbi/gems/rspec-mocks.rbi +1090 -0
- data/sorbet/rbi/gems/rspec-support.rbi +280 -0
- data/sorbet/rbi/gems/rspec.rbi +15 -0
- data/sorbet/rbi/gems/sprockets-rails.rbi +106 -0
- data/sorbet/rbi/gems/sprockets.rbi +755 -0
- data/sorbet/rbi/gems/sqlite3.rbi +354 -0
- data/sorbet/rbi/gems/thor.rbi +580 -0
- data/sorbet/rbi/gems/thread_safe.rbi +82 -0
- data/sorbet/rbi/gems/tty-color.rbi +44 -0
- data/sorbet/rbi/gems/tty-cursor.rbi +72 -0
- data/sorbet/rbi/gems/tty-prompt.rbi +531 -0
- data/sorbet/rbi/gems/tty-reader.rbi +176 -0
- data/sorbet/rbi/gems/tty-screen.rbi +66 -0
- data/sorbet/rbi/gems/tzinfo.rbi +406 -0
- data/sorbet/rbi/gems/websocket-driver.rbi +103 -0
- data/sorbet/rbi/gems/websocket-extensions.rbi +29 -0
- data/sorbet/rbi/gems/wisper.rbi +130 -0
- data/sorbet/rbi/hidden-definitions/errors.txt +7584 -0
- data/sorbet/rbi/hidden-definitions/hidden.rbi +13328 -0
- data/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
- data/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +954 -0
- data/sorbet/rbi/sorbet-typed/lib/actionview/all/actionview.rbi +321 -0
- data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +597 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/<6/activerecord.rbi +13 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5.2/activerecord.rbi +16 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5/activerecord.rbi +53 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +1454 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/all/model_schema.rbi +79 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/all/sanitization.rbi +36 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/~>5.2.0/activerecord.rbi +447 -0
- data/sorbet/rbi/sorbet-typed/lib/activestorage/<=6.1/activestorage.rbi +82 -0
- data/sorbet/rbi/sorbet-typed/lib/activestorage/all/activestorage.rbi +177 -0
- data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +1431 -0
- data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +108 -0
- data/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +25 -0
- data/sorbet/rbi/todo.rbi +18 -0
- data/sorbet/rbi/user-defined/activerecord.rbi +56 -0
- metadata +181 -7
- data/lib/lazy_migrate/migrator.rb +0 -186
@@ -0,0 +1,79 @@
|
|
1
|
+
# This file is autogenerated. Do not edit it by hand. Regenerate it with:
|
2
|
+
# srb rbi sorbet-typed
|
3
|
+
#
|
4
|
+
# If you would like to make changes to this file, great! Please upstream any changes you make here:
|
5
|
+
#
|
6
|
+
# https://github.com/sorbet/sorbet-typed/edit/master/lib/activerecord/all/model_schema.rbi
|
7
|
+
#
|
8
|
+
# typed: strong
|
9
|
+
|
10
|
+
# https://github.com/rails/rails/blob/5-2-stable/activerecord/lib/active_record/model_schema.rb
|
11
|
+
module ActiveRecord::ModelSchema::ClassMethods
|
12
|
+
sig { returns(String) }
|
13
|
+
def table_name
|
14
|
+
end
|
15
|
+
|
16
|
+
sig { params(value: String).void }
|
17
|
+
def table_name=(value)
|
18
|
+
end
|
19
|
+
|
20
|
+
sig { returns(String) }
|
21
|
+
def quoted_table_name
|
22
|
+
end
|
23
|
+
|
24
|
+
sig { returns(T::Array[String]) }
|
25
|
+
def protected_environments
|
26
|
+
end
|
27
|
+
|
28
|
+
sig { params(environments: T::Array[String]).void }
|
29
|
+
def protected_environments=(environments)
|
30
|
+
end
|
31
|
+
|
32
|
+
sig { returns(T.nilable(String)) }
|
33
|
+
def inheritance_column
|
34
|
+
end
|
35
|
+
|
36
|
+
sig { params(value: T.nilable(String)).void }
|
37
|
+
def inheritance_column=(value)
|
38
|
+
end
|
39
|
+
|
40
|
+
sig { returns(T::Array[String]) }
|
41
|
+
def ignored_columns
|
42
|
+
end
|
43
|
+
|
44
|
+
sig { params(columns: T::Array[String]).void }
|
45
|
+
def ignored_columns=(columns)
|
46
|
+
end
|
47
|
+
|
48
|
+
sig { returns(T.nilable(String)) }
|
49
|
+
def sequence_name
|
50
|
+
end
|
51
|
+
|
52
|
+
sig { params(value: String).void }
|
53
|
+
def sequence_name=(value)
|
54
|
+
end
|
55
|
+
|
56
|
+
sig { returns(T::Boolean) }
|
57
|
+
def prefetch_primary_key?
|
58
|
+
end
|
59
|
+
|
60
|
+
sig { returns(T::Boolean) }
|
61
|
+
def table_exists?
|
62
|
+
end
|
63
|
+
|
64
|
+
sig { returns(T::Hash[String, ActiveRecord::ConnectionAdapters::Column]) }
|
65
|
+
def columns_hash
|
66
|
+
end
|
67
|
+
|
68
|
+
sig { returns(T::Array[ActiveRecord::ConnectionAdapters::Column]) }
|
69
|
+
def columns
|
70
|
+
end
|
71
|
+
|
72
|
+
sig { returns(T::Hash[String, T.untyped]) }
|
73
|
+
def column_defaults
|
74
|
+
end
|
75
|
+
|
76
|
+
sig { returns(T::Array[ActiveRecord::ConnectionAdapters::Column]) }
|
77
|
+
def content_columns
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# This file is autogenerated. Do not edit it by hand. Regenerate it with:
|
2
|
+
# srb rbi sorbet-typed
|
3
|
+
#
|
4
|
+
# If you would like to make changes to this file, great! Please upstream any changes you make here:
|
5
|
+
#
|
6
|
+
# https://github.com/sorbet/sorbet-typed/edit/master/lib/activerecord/all/sanitization.rbi
|
7
|
+
#
|
8
|
+
# typed: false
|
9
|
+
|
10
|
+
# https://github.com/rails/rails/blob/5-2-stable/activerecord/lib/active_record/sanitization.rb
|
11
|
+
module ActiveRecord::Sanitization::ClassMethods
|
12
|
+
sig { params(condition: T.any(T.nilable(String), T::Array[T.untyped])).returns(T.nilable(String)) }
|
13
|
+
def sanitize_sql_for_conditions(condition)
|
14
|
+
end
|
15
|
+
alias :sanitize_sql :sanitize_sql_for_conditions
|
16
|
+
|
17
|
+
sig { params(assignments: T.any(T::Array[T.untyped], T::Hash[T.untyped, T.untyped], String), default_table_name: String).returns(String) }
|
18
|
+
def sanitize_sql_for_assignment(assignments, default_table_name)
|
19
|
+
end
|
20
|
+
|
21
|
+
sig { params(condition: T.any(T::Array[T.untyped], String)).returns(String) }
|
22
|
+
def sanitize_sql_for_order(condition)
|
23
|
+
end
|
24
|
+
|
25
|
+
sig { params(attrs: T::Hash[T.untyped, T.untyped], table: String).returns(String) }
|
26
|
+
def sanitize_sql_hash_for_assignment(attrs, table)
|
27
|
+
end
|
28
|
+
|
29
|
+
sig { params(string: String, escape_character: String).returns(String) }
|
30
|
+
def sanitize_sql_like(string, escape_character = "\\")
|
31
|
+
end
|
32
|
+
|
33
|
+
sig { params(ary: T::Array[T.untyped]).returns(String) }
|
34
|
+
def sanitize_sql_array(ary)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,447 @@
|
|
1
|
+
# This file is autogenerated. Do not edit it by hand. Regenerate it with:
|
2
|
+
# srb rbi sorbet-typed
|
3
|
+
#
|
4
|
+
# If you would like to make changes to this file, great! Please upstream any changes you make here:
|
5
|
+
#
|
6
|
+
# https://github.com/sorbet/sorbet-typed/edit/master/lib/activerecord/~>5.2.0/activerecord.rbi
|
7
|
+
#
|
8
|
+
# typed: strong
|
9
|
+
|
10
|
+
class ActiveRecord::Migration::Compatibility::V5_1 < ActiveRecord::Migration::Current; end
|
11
|
+
|
12
|
+
ActiveRecord::Migration::Compatibility::V5_2 = ActiveRecord::Migration::Current
|
13
|
+
|
14
|
+
# Method definitions are documented here:
|
15
|
+
# https://api.rubyonrails.org/v5.2/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html
|
16
|
+
class ActiveRecord::Migration::Current < ActiveRecord::Migration
|
17
|
+
# Tables
|
18
|
+
|
19
|
+
# https://github.com/rails/rails/blob/v5.2.3/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb#L151-L290
|
20
|
+
sig do
|
21
|
+
params(
|
22
|
+
table_name: T.any(String, Symbol),
|
23
|
+
comment: T.untyped,
|
24
|
+
id: T.any(T::Boolean, Symbol),
|
25
|
+
primary_key: T.any(String, Symbol, T::Array[T.any(String, Symbol)]),
|
26
|
+
options: T.untyped,
|
27
|
+
temporary: T::Boolean,
|
28
|
+
force: T.any(T::Boolean, Symbol),
|
29
|
+
as: T.untyped,
|
30
|
+
blk: T.nilable(T.proc.params(t: ActiveRecord::ConnectionAdapters::TableDefinition).void)
|
31
|
+
).returns(T.untyped)
|
32
|
+
end
|
33
|
+
def create_table(
|
34
|
+
table_name,
|
35
|
+
comment: nil,
|
36
|
+
id: :primary_key,
|
37
|
+
primary_key: :_,
|
38
|
+
options: nil,
|
39
|
+
temporary: false,
|
40
|
+
force: false,
|
41
|
+
as: nil,
|
42
|
+
&blk
|
43
|
+
); end
|
44
|
+
|
45
|
+
sig do
|
46
|
+
params(
|
47
|
+
table_name: T.any(String, Symbol),
|
48
|
+
bulk: T::Boolean,
|
49
|
+
blk: T.proc.params(t: ActiveRecord::ConnectionAdapters::Table).void
|
50
|
+
).void
|
51
|
+
end
|
52
|
+
def change_table(
|
53
|
+
table_name,
|
54
|
+
bulk: false,
|
55
|
+
&blk
|
56
|
+
); end
|
57
|
+
|
58
|
+
sig { params(table_name: T.any(String, Symbol), new_name: T.any(String, Symbol)).void }
|
59
|
+
def rename_table(table_name, new_name); end
|
60
|
+
|
61
|
+
sig do
|
62
|
+
params(
|
63
|
+
table_name: T.any(String, Symbol),
|
64
|
+
force: T.any(T::Boolean, Symbol),
|
65
|
+
if_exists: T::Boolean,
|
66
|
+
blk: T.nilable(T.proc.params(t: ActiveRecord::ConnectionAdapters::TableDefinition).void)
|
67
|
+
).void
|
68
|
+
end
|
69
|
+
def drop_table(
|
70
|
+
table_name,
|
71
|
+
force: false,
|
72
|
+
if_exists: false,
|
73
|
+
&blk
|
74
|
+
); end
|
75
|
+
|
76
|
+
# Join Tables
|
77
|
+
|
78
|
+
sig do
|
79
|
+
params(
|
80
|
+
table_1: T.any(String, Symbol),
|
81
|
+
table_2: T.any(String, Symbol),
|
82
|
+
column_options: T.untyped,
|
83
|
+
table_name: T.any(String, Symbol),
|
84
|
+
temporary: T.untyped,
|
85
|
+
force: T::Boolean,
|
86
|
+
blk: T.nilable(T.proc.params(t: ActiveRecord::ConnectionAdapters::TableDefinition).void)
|
87
|
+
).void
|
88
|
+
end
|
89
|
+
def create_join_table(
|
90
|
+
table_1,
|
91
|
+
table_2,
|
92
|
+
column_options: {},
|
93
|
+
table_name: nil,
|
94
|
+
temporary: nil,
|
95
|
+
force: false,
|
96
|
+
&blk
|
97
|
+
); end
|
98
|
+
|
99
|
+
sig do
|
100
|
+
params(
|
101
|
+
table_1: T.any(String, Symbol),
|
102
|
+
table_2: T.any(String, Symbol),
|
103
|
+
options: T.untyped,
|
104
|
+
blk: T.nilable(T.proc.params(t: ActiveRecord::ConnectionAdapters::TableDefinition).void)
|
105
|
+
).void
|
106
|
+
end
|
107
|
+
def drop_join_table(
|
108
|
+
table_1,
|
109
|
+
table_2,
|
110
|
+
options = {},
|
111
|
+
&blk
|
112
|
+
); end
|
113
|
+
|
114
|
+
# Columns
|
115
|
+
|
116
|
+
sig do
|
117
|
+
params(
|
118
|
+
table_name: T.any(String, Symbol),
|
119
|
+
column_name: T.any(String, Symbol),
|
120
|
+
type: T.any(String, Symbol),
|
121
|
+
limit: T.untyped,
|
122
|
+
default: T.untyped,
|
123
|
+
null: T::Boolean,
|
124
|
+
precision: Integer,
|
125
|
+
scale: Integer,
|
126
|
+
comment: String,
|
127
|
+
array: T::Boolean
|
128
|
+
).void
|
129
|
+
end
|
130
|
+
def add_column(
|
131
|
+
table_name,
|
132
|
+
column_name,
|
133
|
+
type,
|
134
|
+
limit: nil,
|
135
|
+
default: nil,
|
136
|
+
null: nil,
|
137
|
+
precision: nil,
|
138
|
+
scale: nil,
|
139
|
+
comment: nil,
|
140
|
+
array: nil
|
141
|
+
); end
|
142
|
+
|
143
|
+
sig do
|
144
|
+
params(
|
145
|
+
table_name: T.any(String, Symbol),
|
146
|
+
column_name: T.any(String, Symbol),
|
147
|
+
type: T.any(String, Symbol),
|
148
|
+
limit: T.untyped,
|
149
|
+
default: T.untyped,
|
150
|
+
null: T::Boolean,
|
151
|
+
precision: Integer,
|
152
|
+
scale: Integer,
|
153
|
+
comment: String
|
154
|
+
).void
|
155
|
+
end
|
156
|
+
def change_column(
|
157
|
+
table_name,
|
158
|
+
column_name,
|
159
|
+
type,
|
160
|
+
limit: nil,
|
161
|
+
default: nil,
|
162
|
+
null: nil,
|
163
|
+
precision: nil,
|
164
|
+
scale: nil,
|
165
|
+
comment: nil
|
166
|
+
); end
|
167
|
+
|
168
|
+
sig do
|
169
|
+
params(
|
170
|
+
table_name: T.any(String, Symbol),
|
171
|
+
column_name: T.any(String, Symbol),
|
172
|
+
null: T::Boolean,
|
173
|
+
default: T.untyped
|
174
|
+
).void
|
175
|
+
end
|
176
|
+
def change_column_null(table_name, column_name, null, default = nil); end
|
177
|
+
|
178
|
+
sig { params(table_name: T.any(String, Symbol), column_name: T.any(String, Symbol), default_or_changes: T.untyped).void }
|
179
|
+
def change_column_default(table_name, column_name, default_or_changes); end
|
180
|
+
|
181
|
+
sig { params(table_name: T.any(String, Symbol), column_name: T.any(String, Symbol), new_column_name: T.any(String, Symbol)).void }
|
182
|
+
def rename_column(table_name, column_name, new_column_name); end
|
183
|
+
|
184
|
+
sig do
|
185
|
+
params(
|
186
|
+
table_name: T.any(String, Symbol),
|
187
|
+
column_name: T.any(String, Symbol),
|
188
|
+
type: T.nilable(T.any(String, Symbol)),
|
189
|
+
options: T.untyped
|
190
|
+
).void
|
191
|
+
end
|
192
|
+
def remove_column(
|
193
|
+
table_name,
|
194
|
+
column_name,
|
195
|
+
type = nil,
|
196
|
+
options = {}
|
197
|
+
); end
|
198
|
+
|
199
|
+
sig { params(table_name: T.any(String, Symbol), column_names: T.any(String, Symbol)).void }
|
200
|
+
def remove_columns(table_name, *column_names); end
|
201
|
+
|
202
|
+
# Foreign Keys
|
203
|
+
|
204
|
+
sig do
|
205
|
+
params(
|
206
|
+
from_table: T.any(String, Symbol),
|
207
|
+
to_table: T.any(String, Symbol),
|
208
|
+
column: T.any(String, Symbol),
|
209
|
+
primary_key: T.any(String, Symbol),
|
210
|
+
name: T.any(String, Symbol),
|
211
|
+
on_delete: Symbol,
|
212
|
+
on_update: Symbol,
|
213
|
+
validate: T::Boolean
|
214
|
+
).void
|
215
|
+
end
|
216
|
+
def add_foreign_key(
|
217
|
+
from_table,
|
218
|
+
to_table,
|
219
|
+
column: nil,
|
220
|
+
primary_key: nil,
|
221
|
+
name: nil,
|
222
|
+
on_delete: nil,
|
223
|
+
on_update: nil,
|
224
|
+
validate: true
|
225
|
+
); end
|
226
|
+
|
227
|
+
sig do
|
228
|
+
params(
|
229
|
+
from_table: T.any(String, Symbol),
|
230
|
+
to_table: T.nilable(T.any(String, Symbol)),
|
231
|
+
column: T.any(String, Symbol),
|
232
|
+
primary_key: T.any(String, Symbol),
|
233
|
+
name: T.any(String, Symbol),
|
234
|
+
on_delete: Symbol,
|
235
|
+
on_update: Symbol,
|
236
|
+
validate: T::Boolean
|
237
|
+
).void
|
238
|
+
end
|
239
|
+
def remove_foreign_key(
|
240
|
+
from_table,
|
241
|
+
to_table = nil,
|
242
|
+
column: nil,
|
243
|
+
primary_key: nil,
|
244
|
+
name: nil,
|
245
|
+
on_delete: nil,
|
246
|
+
on_update: nil,
|
247
|
+
validate: true
|
248
|
+
); end
|
249
|
+
|
250
|
+
sig do
|
251
|
+
params(
|
252
|
+
from_table: T.any(String, Symbol),
|
253
|
+
to_table: T.any(String, Symbol),
|
254
|
+
name: T.any(String, Symbol),
|
255
|
+
column: T.any(String, Symbol),
|
256
|
+
options: T.untyped
|
257
|
+
).returns(T::Boolean)
|
258
|
+
end
|
259
|
+
def foreign_key_exists?(from_table, to_table = nil, name: nil, column: nil, **options); end
|
260
|
+
|
261
|
+
sig { params(table_name: T.any(String, Symbol)).returns(T::Array[T.untyped]) }
|
262
|
+
def foreign_keys(table_name); end
|
263
|
+
|
264
|
+
# Indices
|
265
|
+
|
266
|
+
sig do
|
267
|
+
params(
|
268
|
+
table_name: T.any(String, Symbol),
|
269
|
+
column_name: T.any(String, Symbol, T::Array[T.any(String, Symbol)]),
|
270
|
+
using: T.untyped,
|
271
|
+
unique: T::Boolean,
|
272
|
+
where: T.untyped,
|
273
|
+
order: T.untyped,
|
274
|
+
name: T.any(String, Symbol),
|
275
|
+
length: T.untyped,
|
276
|
+
opclass: T.untyped,
|
277
|
+
type: T.untyped,
|
278
|
+
internal: T.untyped,
|
279
|
+
algorithm: T.untyped
|
280
|
+
).void
|
281
|
+
end
|
282
|
+
def add_index(
|
283
|
+
table_name,
|
284
|
+
column_name,
|
285
|
+
using: nil,
|
286
|
+
unique: false,
|
287
|
+
where: nil,
|
288
|
+
order: nil,
|
289
|
+
name: nil,
|
290
|
+
length: nil,
|
291
|
+
opclass: nil,
|
292
|
+
type: nil,
|
293
|
+
internal: nil,
|
294
|
+
algorithm: nil
|
295
|
+
); end
|
296
|
+
|
297
|
+
sig do
|
298
|
+
params(
|
299
|
+
table_name: T.any(String, Symbol),
|
300
|
+
column: T.any(String, Symbol, T::Array[T.any(String, Symbol)]),
|
301
|
+
using: T.untyped,
|
302
|
+
unique: T::Boolean,
|
303
|
+
where: T.untyped,
|
304
|
+
order: T.untyped,
|
305
|
+
name: T.any(String, Symbol),
|
306
|
+
length: T.untyped,
|
307
|
+
opclass: T.untyped,
|
308
|
+
type: T.untyped,
|
309
|
+
internal: T.untyped,
|
310
|
+
algorithm: T.untyped
|
311
|
+
).void
|
312
|
+
end
|
313
|
+
def remove_index(
|
314
|
+
table_name,
|
315
|
+
column,
|
316
|
+
using: nil,
|
317
|
+
unique: false,
|
318
|
+
where: nil,
|
319
|
+
order: nil,
|
320
|
+
name: nil,
|
321
|
+
length: nil,
|
322
|
+
opclass: nil,
|
323
|
+
type: nil,
|
324
|
+
internal: nil,
|
325
|
+
algorithm: nil
|
326
|
+
); end
|
327
|
+
|
328
|
+
sig do
|
329
|
+
params(
|
330
|
+
table_name: T.any(String, Symbol),
|
331
|
+
old_name: T.any(String, Symbol),
|
332
|
+
new_name: T.any(String, Symbol)
|
333
|
+
).void
|
334
|
+
end
|
335
|
+
def rename_index(
|
336
|
+
table_name,
|
337
|
+
old_name,
|
338
|
+
new_name
|
339
|
+
); end
|
340
|
+
|
341
|
+
sig do
|
342
|
+
params(
|
343
|
+
table_name: T.any(String, Symbol),
|
344
|
+
column_name: T.any(String, Symbol),
|
345
|
+
options: T.untyped
|
346
|
+
).returns(T::Boolean)
|
347
|
+
end
|
348
|
+
def index_exists?(table_name, column_name, options = {}); end
|
349
|
+
|
350
|
+
sig { params(table_name: T.any(String, Symbol), index_name: T.any(String, Symbol)).returns(T::Boolean) }
|
351
|
+
def index_name_exists?(table_name, index_name); end
|
352
|
+
|
353
|
+
sig do
|
354
|
+
params(
|
355
|
+
table_name: T.any(String, Symbol),
|
356
|
+
column_name: T.any(String, Symbol),
|
357
|
+
type: T.nilable(T.any(String, Symbol)),
|
358
|
+
options: T.untyped
|
359
|
+
).returns(T::Boolean)
|
360
|
+
end
|
361
|
+
def column_exists?(table_name, column_name, type = nil, options = {}); end
|
362
|
+
|
363
|
+
sig { params(table_name: T.any(String, Symbol)).returns(T::Array[T.untyped]) }
|
364
|
+
def indexes(table_name); end
|
365
|
+
|
366
|
+
# References
|
367
|
+
|
368
|
+
sig do
|
369
|
+
params(
|
370
|
+
table_name: T.any(String, Symbol),
|
371
|
+
ref_name: T.any(String, Symbol),
|
372
|
+
type: T.any(String, Symbol),
|
373
|
+
index: T.any(T::Boolean, T::Hash[Symbol, T.untyped]),
|
374
|
+
foreign_key: T.any(T::Boolean, T::Hash[Symbol, T.untyped]),
|
375
|
+
polymorphic: T::Boolean,
|
376
|
+
null: T.untyped
|
377
|
+
).void
|
378
|
+
end
|
379
|
+
def add_reference(
|
380
|
+
table_name,
|
381
|
+
ref_name,
|
382
|
+
type: :bigint,
|
383
|
+
index: true,
|
384
|
+
foreign_key: false,
|
385
|
+
polymorphic: false,
|
386
|
+
null: nil
|
387
|
+
); end
|
388
|
+
|
389
|
+
alias add_belongs_to add_reference
|
390
|
+
|
391
|
+
sig do
|
392
|
+
params(
|
393
|
+
table_name: T.any(String, Symbol),
|
394
|
+
ref_name: T.any(String, Symbol),
|
395
|
+
type: T.any(String, Symbol),
|
396
|
+
index: T.any(T::Boolean, T::Hash[Symbol, T.untyped]),
|
397
|
+
foreign_key: T.any(T::Boolean, T::Hash[Symbol, T.untyped]),
|
398
|
+
polymorphic: T::Boolean,
|
399
|
+
null: T.untyped
|
400
|
+
).void
|
401
|
+
end
|
402
|
+
def remove_reference(
|
403
|
+
table_name,
|
404
|
+
ref_name,
|
405
|
+
type: :bigint,
|
406
|
+
index: true,
|
407
|
+
foreign_key: false,
|
408
|
+
polymorphic: false,
|
409
|
+
null: nil
|
410
|
+
); end
|
411
|
+
|
412
|
+
# Timestamps
|
413
|
+
|
414
|
+
sig { params(table_name: T.any(String, Symbol), options: T.untyped).void }
|
415
|
+
def add_timestamps(table_name, options = {}); end
|
416
|
+
|
417
|
+
sig { params(table_name: T.any(String, Symbol), options: T.untyped).void }
|
418
|
+
def remove_timestamps(table_name, options = {}); end
|
419
|
+
|
420
|
+
# Extensions
|
421
|
+
|
422
|
+
sig { params(name: T.any(String, Symbol)).void }
|
423
|
+
def enable_extension(name); end
|
424
|
+
|
425
|
+
sig { params(name: T.any(String, Symbol)).void }
|
426
|
+
def disable_extension(name); end
|
427
|
+
|
428
|
+
# Miscellaneous
|
429
|
+
|
430
|
+
sig { params(message: String, subitem: T.untyped).void }
|
431
|
+
def say(message, subitem = false); end
|
432
|
+
|
433
|
+
sig { params(message: String, blk: T.untyped).returns(T.untyped) }
|
434
|
+
def say_with_time(message, &blk); end
|
435
|
+
|
436
|
+
sig { params(blk: T.untyped).void }
|
437
|
+
def suppress_messages(&blk); end
|
438
|
+
|
439
|
+
sig { params(blk: T.proc.params(arg0: T.untyped).void).void }
|
440
|
+
def reversible(&blk); end
|
441
|
+
|
442
|
+
sig { params(migration_classes: T.untyped, blk: T.nilable(T.proc.params(arg0: T.untyped).void)).void }
|
443
|
+
def revert(*migration_classes, &blk); end
|
444
|
+
|
445
|
+
sig { params(sql: String, name: T.nilable(String)).returns(T.untyped) }
|
446
|
+
def execute(sql, name = nil); end
|
447
|
+
end
|