新增“数据编辑”
This commit is contained in:
@@ -19,27 +19,43 @@ DATA_INDEX_NAME = ACHIEVEMENT_INDEX_NAME
|
||||
USERS_INDEX_NAME = USER_INDEX_NAME
|
||||
|
||||
def create_index_with_mapping():
|
||||
"""创建索引和映射配置"""
|
||||
"""创建索引和映射配置(仅当索引不存在时)"""
|
||||
# 获取 Elasticsearch 客户端(与 Document 使用的客户端一致)
|
||||
try:
|
||||
# 创建获奖数据索引
|
||||
AchievementDocument.init()
|
||||
print(f"创建索引 {DATA_INDEX_NAME} 并设置映射")
|
||||
|
||||
# 创建用户索引
|
||||
UserDocument.init()
|
||||
print(f"创建索引 {USERS_INDEX_NAME} 并设置映射")
|
||||
|
||||
# 创建默认管理员用户
|
||||
# --- 1. 处理获奖数据索引 ---
|
||||
if not es.indices.exists(index=DATA_INDEX_NAME):
|
||||
AchievementDocument.init()
|
||||
print(f"✅ 创建索引 {DATA_INDEX_NAME} 并设置映射")
|
||||
else:
|
||||
print(f"ℹ️ 索引 {DATA_INDEX_NAME} 已存在,跳过创建")
|
||||
|
||||
# --- 2. 处理用户索引 ---
|
||||
if not es.indices.exists(index=USERS_INDEX_NAME):
|
||||
UserDocument.init()
|
||||
print(f"✅ 创建索引 {USERS_INDEX_NAME} 并设置映射")
|
||||
else:
|
||||
print(f"ℹ️ 索引 {USERS_INDEX_NAME} 已存在,跳过创建")
|
||||
|
||||
# --- 3. 创建默认管理员用户(可选:也可检查用户是否已存在)---
|
||||
# 这里简单处理:每次初始化都写入(可能重复),建议加唯一性判断
|
||||
admin_user = {
|
||||
"user_id": 0000000000,
|
||||
"username": "admin",
|
||||
"password": "admin",
|
||||
"user_id": 0,
|
||||
"username": "admin",
|
||||
"password": "admin", # ⚠️ 生产环境务必加密!
|
||||
"permission": 0
|
||||
}
|
||||
write_user_data(admin_user)
|
||||
|
||||
# 可选:检查 admin 是否已存在(根据 user_id 或 username)
|
||||
from elasticsearch_dsl import Search
|
||||
s = Search(using=es, index=USERS_INDEX_NAME).query("match", username="admin")
|
||||
if s.count() == 0:
|
||||
write_user_data(admin_user)
|
||||
print("✅ 默认管理员用户已创建")
|
||||
else:
|
||||
print("ℹ️ 默认管理员用户已存在,跳过创建")
|
||||
|
||||
except Exception as e:
|
||||
print(f"创建索引失败: {str(e)}")
|
||||
print(f"❌ 创建索引失败: {str(e)}")
|
||||
# raise # 可选:在 AppConfig 中捕获,这里可以 re-raise 便于调试
|
||||
|
||||
def get_doc_id(data):
|
||||
"""
|
||||
@@ -240,7 +256,7 @@ def search_by_any_field(keyword):
|
||||
|
||||
def write_user_data(user_data):
|
||||
"""
|
||||
写入用户数据到ES
|
||||
写入用户数据到 ES
|
||||
|
||||
参数:
|
||||
user_data (dict): 用户数据
|
||||
|
||||
Reference in New Issue
Block a user