50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
import os
|
|
from app import app, db
|
|
from models import (
|
|
Contest, ContestMembership, ContestApplication, ContestRegistration,
|
|
Exam, Submission, Draft, ExamBookmark,
|
|
Post, Reply, Poll, Reaction, Bookmark, Report,
|
|
QuestionBankItem, Notification, SystemNotification,
|
|
TeacherApplication, InviteCode, ChatRoom, ChatRoomMember, Message
|
|
)
|
|
|
|
def clean_test_data():
|
|
with app.app_context():
|
|
# 删除所有跟杯赛相关的记录
|
|
ContestMembership.query.delete()
|
|
ContestApplication.query.delete()
|
|
ContestRegistration.query.delete()
|
|
QuestionBankItem.query.delete()
|
|
TeacherApplication.query.delete()
|
|
InviteCode.query.delete()
|
|
Contest.query.delete()
|
|
|
|
# 删除所有跟考试相关的记录
|
|
Submission.query.delete()
|
|
Draft.query.delete()
|
|
ExamBookmark.query.delete()
|
|
Exam.query.delete()
|
|
|
|
# 删除所有跟帖子相关的记录
|
|
Reply.query.delete()
|
|
Poll.query.delete()
|
|
Reaction.query.delete()
|
|
Bookmark.query.delete()
|
|
Report.query.delete()
|
|
Post.query.delete()
|
|
|
|
# 删除聊天系统相关的记录(因为有自动为杯赛建群的功能,顺便清一下比较干净)
|
|
Message.query.delete()
|
|
ChatRoomMember.query.delete()
|
|
ChatRoom.query.delete()
|
|
|
|
# 也可以清理系统通知、普通通知
|
|
Notification.query.delete()
|
|
SystemNotification.query.delete()
|
|
|
|
db.session.commit()
|
|
print("所有测试的杯赛、考试、帖子及相关数据已成功删除!")
|
|
|
|
if __name__ == '__main__':
|
|
clean_test_data()
|