Passed
Push — master ( cfbfb4...cd6825 )
by William
02:24
created

67d8fbce85bb_initial   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 105
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 81
dl 0
loc 105
rs 10
c 0
b 0
f 0
wmc 2

2 Functions

Rating   Name   Duplication   Size   Complexity  
A downgrade() 0 9 1
B upgrade() 0 73 1
1
"""initial
2
3
Revision ID: 67d8fbce85bb
4
Revises: 
5
Create Date: 2025-12-11 07:36:11.777651
6
7
"""
8
from alembic import op
9
import sqlalchemy as sa
10
11
12
# revision identifiers, used by Alembic.
13
revision = '67d8fbce85bb'
14
down_revision = None
15
branch_labels = None
16
depends_on = None
17
18
19
def upgrade():
20
    # ### commands auto generated by Alembic - please adjust! ###
21
    op.create_table('settings',
22
    sa.Column('id', sa.Integer(), nullable=False),
23
    sa.Column('name', sa.String(length=100), nullable=True),
24
    sa.Column('value', sa.Boolean(), nullable=True),
25
    sa.PrimaryKeyConstraint('id'),
26
    sa.UniqueConstraint('name', name='uq_settings_name')
27
    )
28
    op.create_table('user',
29
    sa.Column('id', sa.Integer(), nullable=False),
30
    sa.Column('email', sa.String(length=100), nullable=True),
31
    sa.Column('password', sa.String(length=256), nullable=True),
32
    sa.Column('name', sa.String(length=1000), nullable=True),
33
    sa.Column('admin', sa.Boolean(), nullable=True),
34
    sa.Column('is_global_admin', sa.Boolean(), nullable=True),
35
    sa.Column('is_active', sa.Boolean(), nullable=True),
36
    sa.Column('account_owner_id', sa.Integer(), nullable=True),
37
    sa.ForeignKeyConstraint(['account_owner_id'], ['user.id'], ),
38
    sa.PrimaryKeyConstraint('id'),
39
    sa.UniqueConstraint('email', name='uq_user_email')
40
    )
41
    op.create_table('balance',
42
    sa.Column('id', sa.Integer(), nullable=False),
43
    sa.Column('user_id', sa.Integer(), nullable=False),
44
    sa.Column('amount', sa.Numeric(precision=10, scale=2), nullable=True),
45
    sa.Column('date', sa.Date(), nullable=True),
46
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
47
    sa.PrimaryKeyConstraint('id')
48
    )
49
    op.create_table('email',
50
    sa.Column('id', sa.Integer(), nullable=False),
51
    sa.Column('user_id', sa.Integer(), nullable=False),
52
    sa.Column('email', sa.String(length=100), nullable=False),
53
    sa.Column('password', sa.String(length=100), nullable=True),
54
    sa.Column('server', sa.String(length=100), nullable=True),
55
    sa.Column('subjectstr', sa.String(length=100), nullable=True),
56
    sa.Column('startstr', sa.String(length=100), nullable=True),
57
    sa.Column('endstr', sa.String(length=100), nullable=True),
58
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
59
    sa.PrimaryKeyConstraint('id')
60
    )
61
    op.create_table('hold',
62
    sa.Column('id', sa.Integer(), nullable=False),
63
    sa.Column('user_id', sa.Integer(), nullable=False),
64
    sa.Column('amount', sa.Numeric(precision=10, scale=2), nullable=True),
65
    sa.Column('name', sa.String(length=100), nullable=True),
66
    sa.Column('type', sa.String(length=100), nullable=True),
67
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
68
    sa.PrimaryKeyConstraint('id')
69
    )
70
    op.create_table('schedule',
71
    sa.Column('id', sa.Integer(), nullable=False),
72
    sa.Column('user_id', sa.Integer(), nullable=False),
73
    sa.Column('name', sa.String(length=100), nullable=False),
74
    sa.Column('amount', sa.Numeric(precision=10, scale=2), nullable=True),
75
    sa.Column('frequency', sa.String(length=100), nullable=True),
76
    sa.Column('startdate', sa.Date(), nullable=True),
77
    sa.Column('type', sa.String(length=100), nullable=True),
78
    sa.Column('firstdate', sa.Date(), nullable=True),
79
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
80
    sa.PrimaryKeyConstraint('id'),
81
    sa.UniqueConstraint('user_id', 'name', name='_user_schedule_uc')
82
    )
83
    op.create_table('skip',
84
    sa.Column('id', sa.Integer(), nullable=False),
85
    sa.Column('user_id', sa.Integer(), nullable=False),
86
    sa.Column('name', sa.String(length=100), nullable=True),
87
    sa.Column('date', sa.Date(), nullable=True),
88
    sa.Column('amount', sa.Numeric(precision=10, scale=2), nullable=True),
89
    sa.Column('type', sa.String(length=100), nullable=True),
90
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
91
    sa.PrimaryKeyConstraint('id')
92
    )
93
    # ### end Alembic commands ###
94
95
96
def downgrade():
97
    # ### commands auto generated by Alembic - please adjust! ###
98
    op.drop_table('skip')
99
    op.drop_table('schedule')
100
    op.drop_table('hold')
101
    op.drop_table('email')
102
    op.drop_table('balance')
103
    op.drop_table('user')
104
    op.drop_table('settings')
105
    # ### end Alembic commands ###
106