Refactor models and schemas for improved consistency and functionality

- Updated import statements in `mooc/models/__init__.py` to use parentheses for clarity.
- Refactored `mooc/models/core.py` to replace `UnsignedInteger` with `INTEGER(unsigned=True)` for better compatibility.
- Introduced new `MobileNumber` model in `mooc/models/mobile_number.py` with appropriate fields.
- Added `ProfileFields` model in `mooc/models/profile_fields.py` with detailed attributes.
- Updated schemas in `mooc/schemas/mobile_number.py` and `mooc/schemas/profile_fields.py` to reflect model changes and improve naming conventions.
- Ensured all models and schemas are consistent with naming and data types.
This commit is contained in:
?..濡.. 2025-01-09 06:43:18 +08:00
parent 2925c265c6
commit 0e27355932
9 changed files with 174 additions and 208 deletions

View File

@ -81,7 +81,7 @@ from mooc.models.users import (
UsersFounderOwnUsersGroups UsersFounderOwnUsersGroups
) )
from mooc.models.mc import{ from mooc.models.mc import(
McCreditsRecharge, McCreditsRecharge,
McCashRecord, McCashRecord,
McChatsRecord, McChatsRecord,
@ -98,8 +98,9 @@ from mooc.models.mc import{
McMemberFields, McMemberFields,
McMemberProperty, McMemberProperty,
McOauthFans McOauthFans
} )
from mooc.models.modules{
from mooc.models.modules import(
IMSModulesBindings, IMSModulesBindings,
IMSModulesCloud, IMSModulesCloud,
Modules, Modules,
@ -108,7 +109,7 @@ from mooc.models.modules{
IMSModulesPluginRank, IMSModulesPluginRank,
IMSModulesRank, IMSModulesRank,
IMSModulesRecycle, IMSModulesRecycle,
} )
def verify_all_models(): def verify_all_models():
"""验证所有模型是否已正确注册到Base.metadata""" """验证所有模型是否已正确注册到Base.metadata"""
@ -143,7 +144,7 @@ def verify_all_models():
'ims_uni_verifycode', 'ims_uni_verifycode',
# Core 相关表名 # Core 相关表名
"ims_core_attachment" "ims_core_attachment",
"ims_core_cache", "ims_core_cache",
"ims_core_cron", "ims_core_cron",
"ims_core_cron_record", "ims_core_cron_record",
@ -234,6 +235,8 @@ def verify_all_models():
"ims_goouc_fullexam_user_spequence", "ims_goouc_fullexam_user_spequence",
"ims_goouc_fullexam_user_wrong_praction", "ims_goouc_fullexam_user_wrong_praction",
#part 4 #part 4
"ims_profile_fields",
"ims_mobilenumber",
"ims_modules_bindings", "ims_modules_bindings",
"ims_modules_cloud", "ims_modules_cloud",
"ims_modules", "ims_modules",

View File

@ -1,5 +1,5 @@
from sqlalchemy import Column, Integer, String, Text, BigInt,CHAR,ForeignKey, UnsignedInteger, TinyInt, Decimal from sqlalchemy import Column, Integer, String, Text, BigInteger, CHAR, ForeignKey
from sqlalchemy.dialects.mysql import BIGINT from sqlalchemy.dialects.mysql import INTEGER, TINYINT, DECIMAL
from mooc.db.database import Base from mooc.db.database import Base
@ -10,13 +10,13 @@ from mooc.db.database import Base
class CoreAttachment(Base): class CoreAttachment(Base):
__tablename__ = "ims_core_attachment" __tablename__ = "ims_core_attachment"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
filename = Column(String(255), nullable=False) filename = Column(String(255), nullable=False)
attachment = Column(String(255), nullable=False) attachment = Column(String(255), nullable=False)
type = Column(UnsignedInteger, nullable=False) type = Column(INTEGER(unsigned=True), nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
module_upload_dir = Column(String(100), nullable=False) module_upload_dir = Column(String(100), nullable=False)
group_id = Column(Integer, nullable=False) group_id = Column(Integer, nullable=False)
displayorder = Column(Integer, nullable=False) displayorder = Column(Integer, nullable=False)
@ -37,22 +37,22 @@ class CoreCache(Base):
# CoreCron模型用于映射数据库表ims_core_cron # CoreCron模型用于映射数据库表ims_core_cron
class CoreCron(Base): class CoreCron(Base):
__tablename__ = "ims_core_cron" __tablename__ = "ims_core_cron"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
cloudid = Column(UnsignedInteger, nullable=False) cloudid = Column(INTEGER(unsigned=True), nullable=False)
module = Column(String(50), nullable=False) module = Column(String(50), nullable=False)
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
name = Column(String(50), nullable=False) name = Column(String(50), nullable=False)
filename = Column(String(50), nullable=False) filename = Column(String(50), nullable=False)
lastruntime = Column(UnsignedInteger, nullable=False) lastruntime = Column(INTEGER(unsigned=True), nullable=False)
nextruntime = Column(UnsignedInteger, nullable=False) nextruntime = Column(INTEGER(unsigned=True), nullable=False)
weekday = Column(TinyInt, nullable=False) weekday = Column(TINYINT, nullable=False)
day = Column(TinyInt, nullable=False) day = Column(TINYINT, nullable=False)
hour = Column(TinyInt, nullable=False) hour = Column(TINYINT, nullable=False)
minute = Column(String(255), nullable=False) minute = Column(String(255), nullable=False)
extra = Column(String(5000), nullable=False) extra = Column(String(5000), nullable=False)
status = Column(TinyInt, nullable=False) status = Column(TINYINT, nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -63,14 +63,14 @@ class CoreCron(Base):
# CoreCronRecord模型用于映射数据库表ims_core_cron_record # CoreCronRecord模型用于映射数据库表ims_core_cron_record
class CoreCronRecord(Base): class CoreCronRecord(Base):
__tablename__ = "ims_core_cron_record" __tablename__ = "ims_core_cron_record"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
module = Column(String(50), nullable=False) module = Column(String(50), nullable=False)
type = Column(String(50), nullable=False) type = Column(String(50), nullable=False)
tid = Column(UnsignedInteger, nullable=False) tid = Column(INTEGER(unsigned=True), nullable=False)
note = Column(String(500), nullable=False) note = Column(String(500), nullable=False)
tag = Column(String(5000), nullable=False) tag = Column(String(5000), nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -80,10 +80,10 @@ class CoreCronRecord(Base):
class CoreJob(Base): class CoreJob(Base):
__tablename__ = "ims_core_job" __tablename__ = "ims_core_job"
acid = Column(Integer, primary_key=True) # 将id改为acid acid = Column(Integer, primary_key=True) # 将id改为acid
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
uniacid = Column(Integer, nullable=False) uniacid = Column(Integer, nullable=False)
payload = Column(String(255), nullable=False) payload = Column(String(255), nullable=False)
status = Column(TinyInt, nullable=False) status = Column(TINYINT, nullable=False)
title = Column(String(22), nullable=False) title = Column(String(22), nullable=False)
handled = Column(Integer, nullable=False) handled = Column(Integer, nullable=False)
total = Column(Integer, nullable=False) total = Column(Integer, nullable=False)
@ -91,7 +91,7 @@ class CoreJob(Base):
updatetime = Column(Integer, nullable=False) updatetime = Column(Integer, nullable=False)
endtime = Column(Integer, nullable=False) endtime = Column(Integer, nullable=False)
uid = Column(Integer, nullable=False) uid = Column(Integer, nullable=False)
isdeleted = Column(TinyInt, nullable=True) isdeleted = Column(TINYINT, nullable=True)
class Config: class Config:
from_attributes = True from_attributes = True
@ -101,17 +101,17 @@ class CoreJob(Base):
# CoreMenu模型用于映射数据库表ims_core_menu # CoreMenu模型用于映射数据库表ims_core_menu
class CoreMenu(Base): class CoreMenu(Base):
__tablename__ = "ims_core_menu" __tablename__ = "ims_core_menu"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
pid = Column(UnsignedInteger, nullable=False) pid = Column(INTEGER(unsigned=True), nullable=False)
title = Column(String(20), nullable=False) title = Column(String(20), nullable=False)
name = Column(String(20), nullable=False) name = Column(String(20), nullable=False)
url = Column(String(255), nullable=False) url = Column(String(255), nullable=False)
append_title = Column(String(30), nullable=False) append_title = Column(String(30), nullable=False)
append_url = Column(String(255), nullable=False) append_url = Column(String(255), nullable=False)
displayorder = Column(TinyInt, nullable=False) displayorder = Column(TINYINT, nullable=False)
type = Column(String(15), nullable=False) type = Column(String(15), nullable=False)
is_display = Column(TinyInt, nullable=False) is_display = Column(TINYINT, nullable=False)
is_system = Column(TinyInt, nullable=False) is_system = Column(TINYINT, nullable=False)
permission_name = Column(String(50), nullable=False) permission_name = Column(String(50), nullable=False)
group_name = Column(String(30), nullable=False) group_name = Column(String(30), nullable=False)
icon = Column(String(20), nullable=False) icon = Column(String(20), nullable=False)
@ -139,23 +139,23 @@ class CoreMenuShortcut(Base):
# CorePaylog模型用于映射数据库表ims_core_paylog # CorePaylog模型用于映射数据库表ims_core_paylog
class CorePaylog(Base): class CorePaylog(Base):
__tablename__ = "ims_core_paylog" __tablename__ = "ims_core_paylog"
acid = Column(BigInt, primary_key=True, nullable=False) # 将plid改为acid注意类型为BigInt acid = Column(BigInteger, primary_key=True, nullable=False) # 将plid改为acid注意类型为BigInt
type = Column(String(20), nullable=False) type = Column(String(20), nullable=False)
uniacid = Column(Integer, nullable=False) uniacid = Column(Integer, nullable=False)
acid_original = Column(Integer, nullable=False) # 原表中还有个acid字段这里为避免混淆改名可按需调整 acid_original = Column(Integer, nullable=False) # 原表中还有个acid字段这里为避免混淆改名可按需调整
openid = Column(String(40), nullable=False) openid = Column(String(40), nullable=False)
uniontid = Column(String(64), nullable=False) uniontid = Column(String(64), nullable=False)
tid = Column(String(128), nullable=False) tid = Column(String(128), nullable=False)
fee = Column(Decimal(10, 2), nullable=False) fee = Column(DECIMAL(10, 2), nullable=False)
status = Column(TinyInt, nullable=False) status = Column(TINYINT, nullable=False)
module = Column(String(50), nullable=False) module = Column(String(50), nullable=False)
tag = Column(String(2000), nullable=False) tag = Column(String(2000), nullable=False)
is_usecard = Column(TinyInt, nullable=False) is_usecard = Column(TINYINT, nullable=False)
card_type = Column(TinyInt, nullable=False) card_type = Column(TINYINT, nullable=False)
card_id = Column(String(50), nullable=False) card_id = Column(String(50), nullable=False)
card_fee = Column(Decimal(10, 2), nullable=False) card_fee = Column(DECIMAL(10, 2), nullable=False)
encrypt_code = Column(String(100), nullable=False) encrypt_code = Column(String(100), nullable=False)
is_wish = Column(TinyInt, nullable=False) is_wish = Column(TINYINT, nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -164,8 +164,8 @@ class CorePaylog(Base):
# CorePerformance模型用于映射数据库表ims_core_performance # CorePerformance模型用于映射数据库表ims_core_performance
class CorePerformance(Base): class CorePerformance(Base):
__tablename__ = "ims_core_performance" __tablename__ = "ims_core_performance"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
runtime = Column(String(10), nullable=False) runtime = Column(String(10), nullable=False)
runurl = Column(String(512), nullable=False) runurl = Column(String(512), nullable=False)
runsql = Column(String(512), nullable=False) runsql = Column(String(512), nullable=False)
@ -179,16 +179,16 @@ class CorePerformance(Base):
# CoreQueue模型用于映射数据库表ims_core_queue # CoreQueue模型用于映射数据库表ims_core_queue
class CoreQueue(Base): class CoreQueue(Base):
__tablename__ = "ims_core_queue" __tablename__ = "ims_core_queue"
acid = Column(BigInt, primary_key=True) # 将qid改为acid类型对应BigInt acid = Column(BigInteger, primary_key=True) # 将qid改为acid类型对应BigInt
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
acid_original = Column(UnsignedInteger, nullable=False) # 原表中还有acid字段这里改名避免混淆可按需调整 acid_original = Column(INTEGER(unsigned=True), nullable=False) # 原表中还有acid字段这里改名避免混淆可按需调整
message = Column(String(2000), nullable=False) message = Column(String(2000), nullable=False)
params = Column(String(1000), nullable=False) params = Column(String(1000), nullable=False)
keyword = Column(String(1000), nullable=False) keyword = Column(String(1000), nullable=False)
response = Column(String(2000), nullable=False) response = Column(String(2000), nullable=False)
module = Column(String(50), nullable=False) module = Column(String(50), nullable=False)
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
dateline = Column(UnsignedInteger, nullable=False) dateline = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -202,9 +202,9 @@ class CoreRefundlog(Base):
refund_uniontid = Column(String(64), nullable=False) refund_uniontid = Column(String(64), nullable=False)
reason = Column(String(80), nullable=False) reason = Column(String(80), nullable=False)
uniontid = Column(String(64), nullable=False) uniontid = Column(String(64), nullable=False)
fee = Column(Decimal(10, 2), nullable=False) fee = Column(DECIMAL(10, 2), nullable=False)
status = Column(Integer, nullable=False) status = Column(Integer, nullable=False)
is_wish = Column(TinyInt, nullable=False) is_wish = Column(TINYINT, nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -214,111 +214,42 @@ class CoreRefundlog(Base):
class CoreResource(Base): class CoreResource(Base):
__tablename__ = "ims_core_resource" __tablename__ = "ims_core_resource"
acid = Column(Integer, primary_key=True) # 将mid改为acid acid = Column(Integer, primary_key=True) # 将mid改为acid
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
media_id = Column(String(100), nullable=False) media_id = Column(String(100), nullable=False)
trunk = Column(UnsignedInteger, nullable=False) trunk = Column(INTEGER(unsigned=True), nullable=False)
type = Column(String(10), nullable=False) type = Column(String(10), nullable=False)
dateline = Column(UnsignedInteger, nullable=False) dateline = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
# CoreSendsmsLog模型用于映射数据库表ims_core_sendsms_log
# CoreQueue模型用于映射数据库表ims_core_queue
class CoreQueue(Base):
__tablename__ = "ims_core_queue"
acid = Column(BigInt, primary_key=True) # 将qid改为acid类型对应BigInt
uniacid = Column(UnsignedInteger, nullable=False)
acid_original = Column(UnsignedInteger, nullable=False) # 原表中还有acid字段这里改名避免混淆可按需调整
message = Column(String(2000), nullable=False)
params = Column(String(1000), nullable=False)
keyword = Column(String(1000), nullable=False)
response = Column(String(2000), nullable=False)
module = Column(String(50), nullable=False)
type = Column(TinyInt, nullable=False)
dateline = Column(UnsignedInteger, nullable=False)
class Config:
from_attributes = True
# CoreRefundlog模型用于映射数据库表ims_core_refundlog
class CoreRefundlog(Base):
__tablename__ = "ims_core_refundlog"
acid = Column(Integer, primary_key=True) # 将id改为acid
uniacid = Column(Integer, nullable=False)
refund_uniontid = Column(String(64), nullable=False)
reason = Column(String(80), nullable=False)
uniontid = Column(String(64), nullable=False)
fee = Column(Decimal(10, 2), nullable=False)
status = Column(Integer, nullable=False)
is_wish = Column(TinyInt, nullable=False)
class Config:
from_attributes = True
from sqlalchemy import Column, Integer, String, UnsignedInteger
from mooc.db.database import Base
# CoreResource模型用于映射数据库表ims_core_resource
class CoreResource(Base):
__tablename__ = "ims_core_resource"
acid = Column(Integer, primary_key=True) # 将mid改为acid
uniacid = Column(UnsignedInteger, nullable=False)
media_id = Column(String(100), nullable=False)
trunk = Column(UnsignedInteger, nullable=False)
type = Column(String(10), nullable=False)
dateline = Column(UnsignedInteger, nullable=False)
class Config:
from_attributes = True
# CoreResource模型用于映射数据库表ims_core_resource
class CoreResource(Base):
__tablename__ = "ims_core_resource"
acid = Column(Integer, primary_key=True) # 将mid改为acid
uniacid = Column(UnsignedInteger, nullable=False)
media_id = Column(String(100), nullable=False)
trunk = Column(UnsignedInteger, nullable=False)
type = Column(String(10), nullable=False)
dateline = Column(UnsignedInteger, nullable=False)
class Config:
from_attributes = True
# CoreSendsmsLog模型用于映射数据库表ims_core_sendsms_log
class CoreSendsmsLog(Base): class CoreSendsmsLog(Base):
__tablename__ = "ims_core_sendsms_log" __tablename__ = "ims_core_sendsms_log"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
mobile = Column(String(11), nullable=False) mobile = Column(String(11), nullable=False)
content = Column(String(255), nullable=False) content = Column(String(255), nullable=False)
result = Column(String(255), nullable=False) result = Column(String(255), nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
from sqlalchemy import Column, Integer, String, UnsignedInteger
from mooc.db.database import Base
# CoreSessions模型用于映射数据库表ims_core_sessions # CoreSessions模型用于映射数据库表ims_core_sessions
class CoreSessions(Base): class CoreSessions(Base):
__tablename__ = "ims_core_sessions" __tablename__ = "ims_core_sessions"
acid = Column(CHAR(32), primary_key=True) # 将sid作为主键对应类型为CHAR(32) acid = Column(CHAR(32), primary_key=True) # 将sid作为主键对应类型为CHAR(32)
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
openid = Column(String(50), nullable=False) openid = Column(String(50), nullable=False)
data = Column(String(2000), nullable=False) data = Column(String(2000), nullable=False)
expiretime = Column(UnsignedInteger, nullable=False) expiretime = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
# CoreSettings模型用于映射数据库表ims_core_settings # CoreSettings模型用于映射数据库表ims_core_settings
class CoreSettings(Base): class CoreSettings(Base):
__tablename__ = "ims_core_settings" __tablename__ = "ims_core_settings"

View File

@ -1,6 +1,6 @@
from sqlalchemy import Column, Integer, String, SmallInteger from sqlalchemy import Column, Integer, String, SmallInteger, Text, Boolean
from sqlalchemy.dialects.mysql import DECIMAL
Base = declarative_base() from mooc.db.database import Base
class McCreditsRecharge(Base): class McCreditsRecharge(Base):

View File

@ -1,2 +1,15 @@
from sqlalchemy import Column, Integer
from sqlalchemy.dialects.mysql import TINYINT
from mooc.db.database import Base
class MobileNumber(Base):
__tablename__ = "ims_mobilenumber"
id = Column(Integer, primary_key=True)
rid = Column(Integer, nullable=False)
enabled = Column(TINYINT(unsigned=True), nullable=False)
dateline = Column(Integer, nullable=True) dateline = Column(Integer, nullable=True)
class Config:
from_attributes = True

View File

@ -1,7 +1,6 @@
from sqlalchemy import Column, Integer, String, SmallInteger, Boolean from sqlalchemy import Column, Integer, String, SmallInteger, Boolean
from sqlalchemy.ext.declarative import declarative_base from mooc.db.database import Base
Base = declarative_base()
class IMSModulesBindings(Base): class IMSModulesBindings(Base):
@ -127,7 +126,6 @@ class IMSModulesRank(Base):
rank = Column(Integer, nullable=False) rank = Column(Integer, nullable=False)
uniacid = Column(Integer, nullable=False) uniacid = Column(Integer, nullable=False)
class IMSModulesRecycle(Base): class IMSModulesRecycle(Base):
__tablename__ = 'ims_modules_recycle' __tablename__ = 'ims_modules_recycle'
@ -143,3 +141,4 @@ class IMSModulesRecycle(Base):
aliapp_support = Column(Boolean, nullable=False) aliapp_support = Column(Boolean, nullable=False)
baiduapp_support = Column(Boolean, nullable=False) baiduapp_support = Column(Boolean, nullable=False)
toutiaoapp_support = Column(Boolean, nullable=False) toutiaoapp_support = Column(Boolean, nullable=False)

View File

@ -1,2 +1,21 @@
from sqlalchemy import Column, Integer, String, SmallInteger, Boolean
from sqlalchemy.dialects.mysql import INTEGER, TINYINT
from mooc.db.database import Base
Createtime = Column(Integer, nullable=False)
class ProfileFields(Base):
__tablename__ = "ims_profile_fields"
id = Column(INTEGER(unsigned=True), primary_key=True)
field = Column(String(255), nullable=False)
available = Column(TINYINT(1), nullable=False)
title = Column(String(255), nullable=False)
description = Column(String(255), nullable=False)
displayorder = Column(SmallInteger, nullable=False)
required = Column(TINYINT(1), nullable=False)
unchangeable = Column(TINYINT(1), nullable=False)
showinregister = Column(TINYINT(1), nullable=False)
field_length = Column(Integer, nullable=False)
class Config:
from_attributes = True

View File

@ -1,4 +1,5 @@
from sqlalchemy import Column, Integer, String, Text, SmallInteger, TinyInt, UnsignedInteger from sqlalchemy import Column, Integer, String, Text, SmallInteger
from sqlalchemy.dialects.mysql import INTEGER, TINYINT
from mooc.db.database import Base from mooc.db.database import Base
@ -6,27 +7,27 @@ from mooc.db.database import Base
class Users(Base): class Users(Base):
__tablename__ = "ims_users" __tablename__ = "ims_users"
acid = Column(UnsignedInteger, primary_key=True) # 将uid改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将uid改为acid
owner_uid = Column(Integer, nullable=False) owner_uid = Column(Integer, nullable=False)
groupid = Column(UnsignedInteger, nullable=False) groupid = Column(INTEGER(unsigned=True), nullable=False)
founder_groupid = Column(TinyInt, nullable=False) founder_groupid = Column(TINYINT, nullable=False)
username = Column(String(30), nullable=False) username = Column(String(30), nullable=False)
password = Column(String(200), nullable=False) password = Column(String(200), nullable=False)
salt = Column(String(10), nullable=False) salt = Column(String(10), nullable=False)
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
status = Column(TinyInt, nullable=False) status = Column(TINYINT, nullable=False)
joindate = Column(UnsignedInteger, nullable=False) joindate = Column(INTEGER(unsigned=True), nullable=False)
joinip = Column(String(15), nullable=False) joinip = Column(String(15), nullable=False)
lastvisit = Column(UnsignedInteger, nullable=False) lastvisit = Column(INTEGER(unsigned=True), nullable=False)
lastip = Column(String(15), nullable=False) lastip = Column(String(15), nullable=False)
remark = Column(String(500), nullable=False) remark = Column(String(500), nullable=False)
starttime = Column(UnsignedInteger, nullable=False) starttime = Column(INTEGER(unsigned=True), nullable=False)
endtime = Column(UnsignedInteger, nullable=False) endtime = Column(INTEGER(unsigned=True), nullable=False)
register_type = Column(TinyInt, nullable=False) register_type = Column(TINYINT, nullable=False)
openid = Column(String(50), nullable=False) openid = Column(String(50), nullable=False)
welcome_link = Column(TinyInt, nullable=False) welcome_link = Column(TINYINT, nullable=False)
notice_setting = Column(String(5000), nullable=False) notice_setting = Column(String(5000), nullable=False)
is_bind = Column(TinyInt, nullable=False) is_bind = Column(TINYINT, nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -38,7 +39,7 @@ class UsersBind(Base):
acid = Column(Integer, primary_key=True) # 将id改为acid acid = Column(Integer, primary_key=True) # 将id改为acid
uid = Column(Integer, nullable=False) uid = Column(Integer, nullable=False)
bind_sign = Column(String(50), nullable=False) bind_sign = Column(String(50), nullable=False)
third_type = Column(TinyInt, nullable=False) third_type = Column(TINYINT, nullable=False)
third_nickname = Column(String(255), nullable=False) third_nickname = Column(String(255), nullable=False)
class Config: class Config:
@ -122,11 +123,11 @@ class UsersExtraTemplates(Base):
class UsersFailedLogin(Base): class UsersFailedLogin(Base):
__tablename__ = "ims_users_failed_login" __tablename__ = "ims_users_failed_login"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
ip = Column(String(15), nullable=False) ip = Column(String(15), nullable=False)
username = Column(String(32), nullable=False) username = Column(String(32), nullable=False)
count = Column(TinyInt, nullable=False) count = Column(TINYINT, nullable=False)
lastupdate = Column(UnsignedInteger, nullable=False) lastupdate = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -138,12 +139,12 @@ class UsersFailedLogin(Base):
class UsersFounderGroup(Base): class UsersFounderGroup(Base):
__tablename__ = "ims_users_founder_group" __tablename__ = "ims_users_founder_group"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
name = Column(String(50), nullable=False) name = Column(String(50), nullable=False)
package = Column(String(5000), nullable=False) package = Column(String(5000), nullable=False)
maxaccount = Column(UnsignedInteger, nullable=False) maxaccount = Column(INTEGER(unsigned=True), nullable=False)
timelimit = Column(UnsignedInteger, nullable=False) timelimit = Column(INTEGER(unsigned=True), nullable=False)
maxwxapp = Column(UnsignedInteger, nullable=False) maxwxapp = Column(INTEGER(unsigned=True), nullable=False)
maxwebapp = Column(Integer, nullable=False) maxwebapp = Column(Integer, nullable=False)
maxphoneapp = Column(Integer, nullable=False) maxphoneapp = Column(Integer, nullable=False)
maxxzapp = Column(Integer, nullable=False) maxxzapp = Column(Integer, nullable=False)
@ -203,13 +204,13 @@ class UsersFounderOwnUsersGroups(Base):
class UsersGroup(Base): class UsersGroup(Base):
__tablename__ = "ims_users_group" __tablename__ = "ims_users_group"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
owner_uid = Column(Integer, nullable=False) owner_uid = Column(Integer, nullable=False)
name = Column(String(50), nullable=False) name = Column(String(50), nullable=False)
package = Column(String(5000), nullable=False) package = Column(String(5000), nullable=False)
maxaccount = Column(UnsignedInteger, nullable=False) maxaccount = Column(INTEGER(unsigned=True), nullable=False)
timelimit = Column(UnsignedInteger, nullable=False) timelimit = Column(INTEGER(unsigned=True), nullable=False)
maxwxapp = Column(UnsignedInteger, nullable=False) maxwxapp = Column(INTEGER(unsigned=True), nullable=False)
maxwebapp = Column(Integer, nullable=False) maxwebapp = Column(Integer, nullable=False)
maxphoneapp = Column(Integer, nullable=False) maxphoneapp = Column(Integer, nullable=False)
maxxzapp = Column(Integer, nullable=False) maxxzapp = Column(Integer, nullable=False)
@ -224,11 +225,11 @@ class UsersGroup(Base):
class UsersInvitation(Base): class UsersInvitation(Base):
__tablename__ = "ims_users_invitation" __tablename__ = "ims_users_invitation"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
code = Column(String(64), nullable=False) code = Column(String(64), nullable=False)
fromuid = Column(UnsignedInteger, nullable=False) fromuid = Column(INTEGER(unsigned=True), nullable=False)
inviteuid = Column(UnsignedInteger, nullable=False) inviteuid = Column(INTEGER(unsigned=True), nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -250,11 +251,11 @@ class UsersLastUse(Base):
class UsersLoginLogs(Base): class UsersLoginLogs(Base):
__tablename__ = "ims_users_login_logs" __tablename__ = "ims_users_login_logs"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
ip = Column(String(15), nullable=False) ip = Column(String(15), nullable=False)
city = Column(String(256), nullable=False) city = Column(String(256), nullable=False)
login_at = Column(UnsignedInteger, nullable=False) login_at = Column(INTEGER(unsigned=True), nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True
@ -264,10 +265,10 @@ class UsersLoginLogs(Base):
class UsersOperateHistory(Base): class UsersOperateHistory(Base):
__tablename__ = "ims_users_operate_history" __tablename__ = "ims_users_operate_history"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
module_name = Column(String(100), nullable=False) module_name = Column(String(100), nullable=False)
createtime = Column(Integer, nullable=False) createtime = Column(Integer, nullable=False)
@ -277,10 +278,10 @@ class UsersOperateHistory(Base):
# UsersOperateStar模型用于映射数据库表ims_users_operate_star # UsersOperateStar模型用于映射数据库表ims_users_operate_star
class UsersOperateStar(Base): class UsersOperateStar(Base):
__tablename__ = "ims_users_operate_star" __tablename__ = "ims_users_operate_star"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
type = Column(TinyInt, nullable=False) type = Column(TINYINT, nullable=False)
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
module_name = Column(String(100), nullable=False) module_name = Column(String(100), nullable=False)
rank = Column(Integer, nullable=False) rank = Column(Integer, nullable=False)
createtime = Column(Integer, nullable=False) createtime = Column(Integer, nullable=False)
@ -292,9 +293,9 @@ class UsersOperateStar(Base):
class UsersPermission(Base): class UsersPermission(Base):
__tablename__ = "ims_users_permission" __tablename__ = "ims_users_permission"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uniacid = Column(UnsignedInteger, nullable=False) uniacid = Column(INTEGER(unsigned=True), nullable=False)
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
type = Column(String(100), nullable=False) type = Column(String(100), nullable=False)
permission = Column(String(10000), nullable=False) permission = Column(String(10000), nullable=False)
url = Column(String(255), nullable=False) url = Column(String(255), nullable=False)
@ -309,9 +310,9 @@ class UsersPermission(Base):
class UsersProfile(Base): class UsersProfile(Base):
__tablename__ = "ims_users_profile" __tablename__ = "ims_users_profile"
acid = Column(UnsignedInteger, primary_key=True) # 将id改为acid acid = Column(INTEGER(unsigned=True), primary_key=True) # 将id改为acid
uid = Column(UnsignedInteger, nullable=False) uid = Column(INTEGER(unsigned=True), nullable=False)
createtime = Column(UnsignedInteger, nullable=False) createtime = Column(INTEGER(unsigned=True), nullable=False)
edittime = Column(Integer, nullable=False) edittime = Column(Integer, nullable=False)
realname = Column(String(10), nullable=False) realname = Column(String(10), nullable=False)
nickname = Column(String(20), nullable=False) nickname = Column(String(20), nullable=False)
@ -319,11 +320,11 @@ class UsersProfile(Base):
qq = Column(String(15), nullable=False) qq = Column(String(15), nullable=False)
mobile = Column(String(11), nullable=False) mobile = Column(String(11), nullable=False)
fakeid = Column(String(30), nullable=False) fakeid = Column(String(30), nullable=False)
vip = Column(TinyInt, nullable=False) vip = Column(TINYINT, nullable=False)
gender = Column(TinyInt, nullable=False) gender = Column(TINYINT, nullable=False)
birthyear = Column(SmallInteger, nullable=False) birthyear = Column(SmallInteger, nullable=False)
birthmonth = Column(TinyInt, nullable=False) birthmonth = Column(TINYINT, nullable=False)
birthday = Column(TinyInt, nullable=False) birthday = Column(TINYINT, nullable=False)
constellation = Column(String(10), nullable=False) constellation = Column(String(10), nullable=False)
zodiac = Column(String(5), nullable=False) zodiac = Column(String(5), nullable=False)
telephone = Column(String(15), nullable=False) telephone = Column(String(15), nullable=False)
@ -355,8 +356,8 @@ class UsersProfile(Base):
bio = Column(Text, nullable=False) bio = Column(Text, nullable=False)
interest = Column(Text, nullable=False) interest = Column(Text, nullable=False)
workerid = Column(String(64), nullable=False) workerid = Column(String(64), nullable=False)
is_send_mobile_status = Column(TinyInt, nullable=False) is_send_mobile_status = Column(TINYINT, nullable=False)
send_expire_status = Column(TinyInt, nullable=False) send_expire_status = Column(TINYINT, nullable=False)
class Config: class Config:
from_attributes = True from_attributes = True

View File

@ -1,18 +1,18 @@
from pydantic import BaseModel from pydantic import BaseModel
class MobilenumberBase(BaseModel):
class MobileNumberBase(BaseModel):
rid: int rid: int
enabled: int enabled: int
dateline: int | None = None dateline: int | None = None
class MobilenumberCreate(MobilenumberBase):
class MobileNumberCreate(MobileNumberBase):
pass pass
class MobilenumberUpdate(MobilenumberBase):
pass
class Mobilenumber(MobilenumberBase): class MobileNumber(MobileNumberBase):
id: int id: int
class Config: class Config:
orm_mode = True from_attributes = True

View File

@ -1,24 +1,24 @@
from pydantic import BaseModel from pydantic import BaseModel
class ProfileFieldsBase(BaseModel): class ProfileFieldsBase(BaseModel):
Field: str field: str
Available: int available: bool
Title: str title: str
Description: str description: str
Displayorder: int displayorder: int
Required: int required: bool
Unchangeable: int unchangeable: bool
Showinregister: int showinregister: bool
FieldLength: int field_length: int
class ProfileFieldsCreate(ProfileFieldsBase): class ProfileFieldsCreate(ProfileFieldsBase):
pass pass
class ProfileFields(ProfileFieldsBase): class ProfileFields(ProfileFieldsBase):
Id: int id: int
class Config: class Config:
orm_mode = True from_attributes = True
class QrcodeBase(BaseModel): class QrcodeBase(BaseModel):
Uniacid: int Uniacid: int