Files
nanocode/fumamxCRM/backend/init_countries.py
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

59 lines
1.6 KiB
Python

"""
初始化国家数据
"""
import json
from database import SessionLocal, engine, Base
from models import Country
def init_countries():
# 读取国家数据
with open('/home/ubuntu/nanocode/fumamxCRM/countryinfo.json', 'r', encoding='utf-8') as f:
data = json.load(f)
countries_data = data.get('data', [])
db = SessionLocal()
try:
# 清空现有数据
db.query(Country).delete()
# 插入新数据
for item in countries_data:
country = Country(
country_id=item.get('countryid'),
continent_id=item.get('continentid'),
sort_order=item.get('sortorder', 0),
cn_name=item.get('cnname'),
en_name=item.get('enname'),
en_name_ali=item.get('ennameAli'),
short_name=item.get('shortname'),
short_name_ali=item.get('shortnameAli'),
pinyin=item.get('pinyin'),
del_state=item.get('delstate', 0)
)
db.add(country)
db.commit()
print(f"✅ 成功导入 {len(countries_data)} 个国家/地区")
# 显示前10个
print("\n前10个国家示例:")
for c in db.query(Country).limit(10).all():
print(f" {c.cn_name} ({c.short_name}) - {c.en_name}")
except Exception as e:
db.rollback()
print(f"❌ 导入失败: {e}")
finally:
db.close()
if __name__ == "__main__":
# 创建表
Base.metadata.create_all(bind=engine)
print("📦 国家表创建完成")
# 导入数据
init_countries()