- 添加.gitignore和.flaskenv环境配置文件 - 创建Flask应用基础架构,包括models、services、utils模块 - 配置数据库模型User和Setting,集成SQLAlchemy和Alembic迁移 - 添加前端Vue项目结构,包含Element Plus组件库 - 配置前后端API路由和蓝prints模块 - 实现书籍下载服务BookService功能模块 - 添加代码规范配置.editorconfig、.oxfmtrc.json、.oxlintrc.json - 配置VSCode推荐插件和前端构建工具链 - 实现文件服务FileService和相关业务逻辑
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
"""init
|
|
|
|
Revision ID: b961883c5443
|
|
Revises:
|
|
Create Date: 2026-03-25 19:08:34.121849
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = 'b961883c5443'
|
|
down_revision = None
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table('setting',
|
|
sa.Column('name', sa.String(length=64), nullable=False),
|
|
sa.Column('mod', sa.String(length=64), nullable=True),
|
|
sa.Column('fid', sa.Integer(), nullable=False),
|
|
sa.Column('orderby', sa.String(length=64), nullable=True),
|
|
sa.Column('baseUrl', sa.String(length=64), nullable=True),
|
|
sa.Column('targetDate', sa.String(length=64), nullable=True),
|
|
sa.Column('targetCountDownPage', sa.Integer(), nullable=True),
|
|
sa.Column('totalPage', sa.Integer(), nullable=True),
|
|
sa.Column('privilegeLevel', sa.Integer(), nullable=True),
|
|
sa.PrimaryKeyConstraint('fid')
|
|
)
|
|
with op.batch_alter_table('setting', schema=None) as batch_op:
|
|
batch_op.create_index(batch_op.f('ix_setting_mod'), ['mod'], unique=True)
|
|
|
|
op.create_table('user',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('username', sa.String(length=80), nullable=False),
|
|
sa.Column('email', sa.String(length=120), nullable=False),
|
|
sa.PrimaryKeyConstraint('id'),
|
|
sa.UniqueConstraint('email'),
|
|
sa.UniqueConstraint('username')
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table('user')
|
|
with op.batch_alter_table('setting', schema=None) as batch_op:
|
|
batch_op.drop_index(batch_op.f('ix_setting_mod'))
|
|
|
|
op.drop_table('setting')
|
|
# ### end Alembic commands ###
|