| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- """
- 初始化数据库:创建所有表 + 插入默认管理员账号 + 默认爬虫源
- """
- 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()
|