@@ -96,7 +96,14 @@ def show(self, name:str):
96
96
'function' : self ._showFunctions
97
97
}
98
98
shows [name ]()
99
-
99
+ def clean (self , name :str ):
100
+ cleans = {
101
+ 'function' : self ._deleteAllFunctions ,
102
+ 'procedure' : self ._deleteAllProcedures ,
103
+ 'table' : self ._deleteAllTables ,
104
+ 'view' : self ._deleteAllViews
105
+ }
106
+ cleans [name ]()
100
107
def initMigrationTable (self ):
101
108
self ._cur .execute (_table_query )
102
109
@@ -147,7 +154,8 @@ def _cleanBuildScript(self, type_:str, file_name_:str):
147
154
)
148
155
self ._conn .commit ()
149
156
150
- def _showProcedures (self ):
157
+ def _listProcedures (self ):
158
+ lista = []
151
159
self ._cur .execute (
152
160
"SHOW PROCEDURE STATUS WHERE db = ?" ,
153
161
[
@@ -167,10 +175,26 @@ def _showProcedures(self):
167
175
collation_connection ,
168
176
coll
169
177
) in self ._cur :
178
+ lista .append (Name )
179
+ return lista
180
+ def _showProcedures (self ):
181
+ for (
182
+ Name
183
+ ) in self ._listProcedures ():
170
184
self ._p (f"{ Name } " )
171
-
172
-
173
- def _showFunctions (self ):
185
+ def _deleteProcedure (self , procedure :str ):
186
+ self ._cur .execute (
187
+ f"DROP PROCEDURE `{ procedure } `;"
188
+ )
189
+ self ._p (f"Delete procedure { procedure } " )
190
+ self ._conn .commit ()
191
+ def _deleteAllProcedures (self ):
192
+ for (
193
+ Name
194
+ ) in self ._listProcedures ():
195
+ self ._deleteProcedure (Name )
196
+ def _listFunctions (self ):
197
+ lista = []
174
198
self ._cur .execute (
175
199
"SHOW FUNCTION STATUS WHERE db = ?" ,
176
200
[
@@ -190,19 +214,53 @@ def _showFunctions(self):
190
214
collation_connection ,
191
215
coll
192
216
) in self ._cur :
217
+ lista .append (Name )
218
+ return lista
219
+ def _showFunctions (self ):
220
+ for (
221
+ Name
222
+ ) in self ._listFunctions ():
193
223
self ._p (f"{ Name } " )
194
-
195
- def _showViews (self ):
224
+ def _deleteFunction (self , function :str ):
225
+ self ._cur .execute (
226
+ f"DROP FUNCTION `{ function } `;"
227
+ )
228
+ self ._p (f"Delete function { function } " )
229
+ self ._conn .commit ()
230
+ def _deleteAllFunctions (self ):
231
+ for (
232
+ Name
233
+ ) in self ._listFunctions ():
234
+ self ._deleteFunction (Name )
235
+ def _listViews (self ):
236
+ lista = []
196
237
self ._cur .execute (
197
238
"SHOW FULL TABLES WHERE Table_Type = 'VIEW'"
198
239
)
199
240
for (
200
241
Name ,
201
242
Type
202
243
) in self ._cur :
244
+ lista .append (Name )
245
+ return lista
246
+ def _showViews (self ):
247
+ for (
248
+ Name
249
+ ) in self ._listViews ():
203
250
self ._p (f"{ Name } " )
204
-
205
- def _showTables (self ):
251
+ def _deleteView (self , table :str ):
252
+ self ._cur .execute (
253
+ f"DROP VIEW IF EXISTS `{ table } `;" ,
254
+ )
255
+ self ._p (f"Delete table { table } " )
256
+ self ._conn .commit ()
257
+ def _deleteAllViews (self ):
258
+ for (
259
+ Name
260
+ ) in self ._listViews ():
261
+ self ._deleteView (Name )
262
+ def _listTables (self ):
263
+ lista = []
206
264
self ._cur .execute (
207
265
"SHOW FULL TABLES WHERE Table_Type = 'BASE TABLE'"
208
266
)
@@ -211,5 +269,22 @@ def _showTables(self):
211
269
Type
212
270
) in self ._cur :
213
271
if Name != "panthera_migration" :
272
+ lista .append (Name )
273
+ return lista
274
+ def _showTables (self ):
275
+ for (
276
+ Name
277
+ ) in self ._listTables ():
214
278
self ._p (f"{ Name } " )
279
+ def _deleteTable (self , table :str ):
280
+ self ._cur .execute (
281
+ f"DROP TABLES IF EXISTS `{ table } `;" ,
282
+ )
283
+ self ._p (f"Delete table { table } " )
284
+ self ._conn .commit ()
285
+ def _deleteAllTables (self ):
286
+ for (
287
+ Name
288
+ ) in self ._listTables ():
289
+ self ._deleteTable (Name )
215
290
0 commit comments