-
Notifications
You must be signed in to change notification settings - Fork 2
/
reset.py
54 lines (38 loc) · 1.56 KB
/
reset.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# -*- coding: utf-8 -*-
"""
Copyright 2017-2018 Shota Shimazu.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import os
from mirage.flow import Workflow
from mirage import project
from mirage.command import log
from mirage.command import command
class DjangoDBResetWorkFlow(Workflow):
def main(self):
log("Clearing all DB...")
self._reset_db()
def _reset_db(self):
msg = "This action will remove ALL stored data in database and data can't be restored!\nDo you confirm to continue this action?"
if project.in_project():
if log(msg, withConfirm = True):
self._remove_sqlite()
else:
log("Canceled.")
else:
log("Failed to reset database.", withError = True, errorDetail = """
Django Console Database Manager Error!s
Currently, Django Console support SQLite database for debug.
""")
def _remove_sqlite(self):
log("Removing SQLite3 file...")
if os.path.exists("db.sqlite3"):
os.remove("db.sqlite3")