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

View File

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

View File

@ -1,6 +1,6 @@
from sqlalchemy import Column, Integer, String, SmallInteger
Base = declarative_base()
from sqlalchemy import Column, Integer, String, SmallInteger, Text, Boolean
from sqlalchemy.dialects.mysql import DECIMAL
from mooc.db.database import 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)
class Config:
from_attributes = True

View File

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

View File

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

View File

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