""" 初始化数据库:创建所有表 + 插入默认管理员账号 + 默认爬虫源 """ import os import sys from dotenv import load_dotenv # 确保 .env 在 create_app 之前加载 load_dotenv(os.path.join(os.path.dirname(__file__), '.env')) from app import create_app, db from app.models import User, SpiderSource def init_db(): app = create_app() with app.app_context(): # 创建所有表 db.create_all() print("Tables created successfully.") # 插入默认管理员 if not User.query.filter_by(username='admin').first(): user = User(username='admin') user.set_password('admin') db.session.add(user) print("Default admin user created: admin / admin") else: print("Admin user already exists.") # 插入默认爬虫源 if not SpiderSource.query.filter_by(code_identifier='baidusearch').first(): source = SpiderSource( name='百度搜索', code_identifier='baidusearch', description='百度搜索引擎爬虫', type='script', status='active' ) db.session.add(source) print("Default spider source '百度搜索' created.") else: print("Spider source '百度搜索' already exists.") db.session.commit() print("Database initialization complete.") if __name__ == '__main__': init_db()