2025-01-05 15:46:42 +08:00
|
|
|
|
# 显式导入所有模型模块,添加新的模型类所在模块(users模块)的导入
|
2025-01-04 01:13:47 +08:00
|
|
|
|
from mooc.models.admin import * # noqa
|
|
|
|
|
from mooc.models.account import * # noqa
|
|
|
|
|
from mooc.models.uni_account import * # noqa
|
2025-01-05 15:46:42 +08:00
|
|
|
|
from mooc.models.core import * # noqa
|
|
|
|
|
from mooc.models.userapi import * # noqa
|
|
|
|
|
from mooc.models.users import * # noqa # 新增导入,确保能识别users.py里的模型类所在模块
|
2025-01-04 01:13:47 +08:00
|
|
|
|
|
|
|
|
|
# 导出常用的模型类
|
|
|
|
|
from mooc.models.account import (
|
|
|
|
|
Account,
|
|
|
|
|
AccountWechats,
|
|
|
|
|
AccountAliapp,
|
|
|
|
|
AccountBaiduapp,
|
|
|
|
|
AccountPhoneapp,
|
|
|
|
|
AccountToutiaoapp,
|
|
|
|
|
AccountWebapp,
|
|
|
|
|
AccountWxapp,
|
|
|
|
|
AccountXzapp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
from mooc.models.uni_account import (
|
|
|
|
|
UniAccount,
|
|
|
|
|
UniAccountExtraModules,
|
|
|
|
|
UniAccountGroup,
|
|
|
|
|
UniAccountMenus,
|
|
|
|
|
UniAccountModules,
|
|
|
|
|
UniAccountModulesShortcut,
|
|
|
|
|
UniAccountUsers,
|
|
|
|
|
UniGroup,
|
|
|
|
|
UniLinkUniacid,
|
|
|
|
|
UniModules,
|
|
|
|
|
UniSettings,
|
|
|
|
|
UniVerifycode
|
|
|
|
|
)
|
|
|
|
|
|
2025-01-05 15:46:42 +08:00
|
|
|
|
from mooc.models.core import (
|
|
|
|
|
ImsCoreCache,
|
|
|
|
|
ImsCoreCron,
|
|
|
|
|
ImsCoreCronRecord,
|
|
|
|
|
ImsCoreJob,
|
|
|
|
|
ImsCoreMenu,
|
|
|
|
|
ImsCoreMenuShortcut,
|
|
|
|
|
ImsCorePaylog,
|
|
|
|
|
ImsCorePerformance,
|
|
|
|
|
ImsCoreQueue,
|
|
|
|
|
ImsCoreRefundlog,
|
|
|
|
|
ImsCoreResource,
|
|
|
|
|
ImsCoreSendsmsLog,
|
|
|
|
|
ImsCoreSessions,
|
|
|
|
|
ImsCoreSettings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
from mooc.models.userapi import (
|
|
|
|
|
ImsUserapiCache,
|
|
|
|
|
ImsUserapiReply
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
from mooc.models.users import (
|
|
|
|
|
ImsUsers,
|
|
|
|
|
ImsUsersBind,
|
|
|
|
|
ImsUsersCreateGroup,
|
|
|
|
|
ImsUsersGroup,
|
|
|
|
|
ImsUsersInvitation,
|
|
|
|
|
ImsUsersLastUse,
|
|
|
|
|
ImsUsersLoginLogs,
|
|
|
|
|
ImsUsersOperateHistory,
|
|
|
|
|
ImsUsersOperateStar,
|
|
|
|
|
ImsUsersPermission,
|
|
|
|
|
ImsUsersProfile,
|
|
|
|
|
ImsUsersExtraGroup,
|
|
|
|
|
ImsUsersExtraLimit,
|
|
|
|
|
ImsUsersExtraModules,
|
|
|
|
|
ImsUsersExtraTemplates,
|
|
|
|
|
ImsUsersFailedLogin,
|
|
|
|
|
ImsUsersFounderGroup,
|
|
|
|
|
ImsUsersFounderOwnCreateGroups,
|
|
|
|
|
ImsUsersFounderOwnUniGroups,
|
|
|
|
|
ImsUsersFounderOwnUsers,
|
|
|
|
|
ImsUsersFounderOwnUsersGroups
|
|
|
|
|
)
|
|
|
|
|
|
2025-01-04 01:13:47 +08:00
|
|
|
|
def verify_all_models():
|
|
|
|
|
"""验证所有模型是否已正确注册到Base.metadata"""
|
|
|
|
|
from mooc.db.database import Base
|
|
|
|
|
|
2025-01-05 15:46:42 +08:00
|
|
|
|
# 所有预期的表名,添加新模型对应的表名
|
2025-01-04 01:13:47 +08:00
|
|
|
|
expected_tables = {
|
|
|
|
|
'ims_goouc_fullexam_admin',
|
|
|
|
|
# Account 相关表
|
|
|
|
|
'ims_account',
|
|
|
|
|
'ims_account_aliapp',
|
|
|
|
|
'ims_account_baiduapp',
|
|
|
|
|
'ims_account_phoneapp',
|
|
|
|
|
'ims_account_toutiaoapp',
|
|
|
|
|
'ims_account_webapp',
|
|
|
|
|
'ims_account_wechats',
|
|
|
|
|
'ims_account_wxapp',
|
|
|
|
|
'ims_account_xzapp',
|
|
|
|
|
|
|
|
|
|
# UniAccount 相关表
|
|
|
|
|
'ims_uni_account',
|
|
|
|
|
'ims_uni_account_extra_modules',
|
|
|
|
|
'ims_uni_account_group',
|
|
|
|
|
'ims_uni_account_menus',
|
|
|
|
|
'ims_uni_account_modules',
|
|
|
|
|
'ims_uni_account_modules_shortcut',
|
|
|
|
|
'ims_uni_account_users',
|
|
|
|
|
'ims_uni_group',
|
|
|
|
|
'ims_uni_link_uniacid',
|
|
|
|
|
'ims_uni_modules',
|
|
|
|
|
'ims_uni_settings',
|
2025-01-05 15:46:42 +08:00
|
|
|
|
'ims_uni_verifycode',
|
|
|
|
|
|
|
|
|
|
# ImsCore 相关表名
|
|
|
|
|
"ims_core_cache",
|
|
|
|
|
"ims_core_cron",
|
|
|
|
|
"ims_core_cron_record",
|
|
|
|
|
"ims_core_job",
|
|
|
|
|
"ims_core_menu",
|
|
|
|
|
"ims_core_menu_shortcut",
|
|
|
|
|
"ims_core_paylog",
|
|
|
|
|
"ims_core_performance",
|
|
|
|
|
"ims_core_queue",
|
|
|
|
|
"ims_core_refundlog",
|
|
|
|
|
"ims_core_resource",
|
|
|
|
|
"ims_core_sendsms_log",
|
|
|
|
|
"ims_core_sessions",
|
|
|
|
|
"ims_core_settings",
|
|
|
|
|
|
|
|
|
|
# ImsUserapi 相关表名
|
|
|
|
|
"ims_userapi_cache",
|
|
|
|
|
"ims_userapi_reply",
|
|
|
|
|
|
|
|
|
|
# ImsUsers 相关表名
|
|
|
|
|
"ims_users",
|
|
|
|
|
"ims_users_bind",
|
|
|
|
|
"ims_users_create_group",
|
|
|
|
|
"ims_users_group",
|
|
|
|
|
"ims_users_invitation",
|
|
|
|
|
"ims_users_lastuse",
|
|
|
|
|
"ims_users_login_logs",
|
|
|
|
|
"ims_users_operate_history",
|
|
|
|
|
"ims_users_operate_star",
|
|
|
|
|
"ims_users_permission",
|
|
|
|
|
"ims_users_profile",
|
|
|
|
|
"ims_users_extra_group",
|
|
|
|
|
"ims_users_extra_limit",
|
|
|
|
|
"ims_users_extra_modules",
|
|
|
|
|
"ims_users_extra_templates",
|
|
|
|
|
"ims_users_failed_login",
|
|
|
|
|
"ims_users_founder_group",
|
|
|
|
|
"ims_users_founder_own_create_groups",
|
|
|
|
|
"ims_users_founder_own_uni_groups",
|
|
|
|
|
"ims_users_founder_own_users",
|
|
|
|
|
"ims_users_founder_own_users_groups"
|
2025-01-04 01:13:47 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
actual_tables = set(Base.metadata.tables.keys())
|
|
|
|
|
missing_tables = expected_tables - actual_tables
|
|
|
|
|
extra_tables = actual_tables - expected_tables
|
|
|
|
|
|
|
|
|
|
if missing_tables:
|
|
|
|
|
raise RuntimeError(f"Missing tables in metadata: {missing_tables}")
|
|
|
|
|
|
|
|
|
|
if extra_tables:
|
|
|
|
|
print(f"Warning: Found unexpected tables: {extra_tables}")
|
|
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def get_all_table_names():
|
|
|
|
|
"""获取所有已注册的表名"""
|
|
|
|
|
from mooc.db.database import Base
|
2025-01-05 15:46:42 +08:00
|
|
|
|
return sorted(Base.metadata.tables.keys())
|