mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-06 09:22:31 -05:00
* Fix #5312
* Update setup.py
* put db actions under one if statement
* check backend type and improve displayed message
* accept format fix
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* fix whitespace
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* separate datapath delete from data delete
* Fix indentation
* Call `driver_cls.initialize()` outside try-finally
* Backup requires db server to run too + some simplifications
(cherry picked from commit 2ce8e65527)
Co-authored-by: Leet <36166244+L33Tech@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Leet <36166244+L33Tech@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
@@ -248,26 +248,30 @@ async def remove_instance(
|
||||
remove_datapath: Optional[bool] = None,
|
||||
):
|
||||
data_manager.load_basic_configuration(instance)
|
||||
backend = get_current_backend(instance)
|
||||
|
||||
if interactive is True and delete_data is None:
|
||||
delete_data = click.confirm(
|
||||
"Would you like to delete this instance's data?", default=False
|
||||
)
|
||||
msg = "Would you like to delete this instance's data?"
|
||||
if backend != BackendType.JSON:
|
||||
msg += " The database server must be running for this to work."
|
||||
delete_data = click.confirm(msg, default=False)
|
||||
|
||||
if interactive is True and _create_backup is None:
|
||||
_create_backup = click.confirm(
|
||||
"Would you like to make a backup of the data for this instance?", default=False
|
||||
)
|
||||
msg = "Would you like to make a backup of the data for this instance?"
|
||||
if backend != BackendType.JSON:
|
||||
msg += " The database server must be running for this to work."
|
||||
_create_backup = click.confirm(msg, default=False)
|
||||
|
||||
if _create_backup is True:
|
||||
await create_backup(instance)
|
||||
|
||||
backend = get_current_backend(instance)
|
||||
driver_cls = drivers.get_driver_class(backend)
|
||||
if delete_data is True:
|
||||
await driver_cls.initialize(**data_manager.storage_details())
|
||||
try:
|
||||
if delete_data is True:
|
||||
await driver_cls.delete_all_data(interactive=interactive, drop_db=drop_db)
|
||||
finally:
|
||||
await driver_cls.teardown()
|
||||
|
||||
if interactive is True and remove_datapath is None:
|
||||
remove_datapath = click.confirm(
|
||||
@@ -279,8 +283,6 @@ async def remove_instance(
|
||||
safe_delete(data_path)
|
||||
|
||||
save_config(instance, {}, remove=True)
|
||||
finally:
|
||||
await driver_cls.teardown()
|
||||
print("The instance {} has been removed\n".format(instance))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user