aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/migrations/versions/2dcb0c0048dc_autologger.py
blob: 080083558273b74cf689b00af5fbba2f28b332e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
"""autologger

Revision ID: 2dcb0c0048dc
Revises: 6c6fb2b7f229
Create Date: 2020-04-10 18:12:41.285590

"""

# revision identifiers, used by Alembic.
revision = "2dcb0c0048dc"
down_revision = "6c6fb2b7f229"

from alembic import op
import sqlalchemy as sa


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "bill_version",
        sa.Column("id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column("payer_id", sa.Integer(), autoincrement=False, nullable=True),
        sa.Column("amount", sa.Float(), autoincrement=False, nullable=True),
        sa.Column("date", sa.Date(), autoincrement=False, nullable=True),
        sa.Column("creation_date", sa.Date(), autoincrement=False, nullable=True),
        sa.Column("what", sa.UnicodeText(), autoincrement=False, nullable=True),
        sa.Column(
            "external_link", sa.UnicodeText(), autoincrement=False, nullable=True
        ),
        sa.Column("archive", sa.Integer(), autoincrement=False, nullable=True),
        sa.Column(
            "transaction_id", sa.BigInteger(), autoincrement=False, nullable=False
        ),
        sa.Column("end_transaction_id", sa.BigInteger(), nullable=True),
        sa.Column("operation_type", sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint("id", "transaction_id"),
    )
    op.create_index(
        op.f("ix_bill_version_end_transaction_id"),
        "bill_version",
        ["end_transaction_id"],
        unique=False,
    )
    op.create_index(
        op.f("ix_bill_version_operation_type"),
        "bill_version",
        ["operation_type"],
        unique=False,
    )
    op.create_index(
        op.f("ix_bill_version_transaction_id"),
        "bill_version",
        ["transaction_id"],
        unique=False,
    )
    op.create_table(
        "billowers_version",
        sa.Column("bill_id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column("person_id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column(
            "transaction_id", sa.BigInteger(), autoincrement=False, nullable=False
        ),
        sa.Column("end_transaction_id", sa.BigInteger(), nullable=True),
        sa.Column("operation_type", sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint("bill_id", "person_id", "transaction_id"),
    )
    op.create_index(
        op.f("ix_billowers_version_end_transaction_id"),
        "billowers_version",
        ["end_transaction_id"],
        unique=False,
    )
    op.create_index(
        op.f("ix_billowers_version_operation_type"),
        "billowers_version",
        ["operation_type"],
        unique=False,
    )
    op.create_index(
        op.f("ix_billowers_version_transaction_id"),
        "billowers_version",
        ["transaction_id"],
        unique=False,
    )
    op.create_table(
        "person_version",
        sa.Column("id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column(
            "project_id", sa.String(length=64), autoincrement=False, nullable=True
        ),
        sa.Column("name", sa.UnicodeText(), autoincrement=False, nullable=True),
        sa.Column("weight", sa.Float(), autoincrement=False, nullable=True),
        sa.Column("activated", sa.Boolean(), autoincrement=False, nullable=True),
        sa.Column(
            "transaction_id", sa.BigInteger(), autoincrement=False, nullable=False
        ),
        sa.Column("end_transaction_id", sa.BigInteger(), nullable=True),
        sa.Column("operation_type", sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint("id", "transaction_id"),
    )
    op.create_index(
        op.f("ix_person_version_end_transaction_id"),
        "person_version",
        ["end_transaction_id"],
        unique=False,
    )
    op.create_index(
        op.f("ix_person_version_operation_type"),
        "person_version",
        ["operation_type"],
        unique=False,
    )
    op.create_index(
        op.f("ix_person_version_transaction_id"),
        "person_version",
        ["transaction_id"],
        unique=False,
    )
    op.create_table(
        "project_version",
        sa.Column("id", sa.String(length=64), autoincrement=False, nullable=False),
        sa.Column("name", sa.UnicodeText(), autoincrement=False, nullable=True),
        sa.Column(
            "password", sa.String(length=128), autoincrement=False, nullable=True
        ),
        sa.Column(
            "contact_email", sa.String(length=128), autoincrement=False, nullable=True
        ),
        sa.Column(
            "logging_preference",
            sa.Enum("DISABLED", "ENABLED", "RECORD_IP", name="loggingmode"),
            server_default="ENABLED",
            autoincrement=False,
            nullable=True,
        ),
        sa.Column(
            "transaction_id", sa.BigInteger(), autoincrement=False, nullable=False
        ),
        sa.Column("end_transaction_id", sa.BigInteger(), nullable=True),
        sa.Column("operation_type", sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint("id", "transaction_id"),
    )
    op.create_index(
        op.f("ix_project_version_end_transaction_id"),
        "project_version",
        ["end_transaction_id"],
        unique=False,
    )
    op.create_index(
        op.f("ix_project_version_operation_type"),
        "project_version",
        ["operation_type"],
        unique=False,
    )
    op.create_index(
        op.f("ix_project_version_transaction_id"),
        "project_version",
        ["transaction_id"],
        unique=False,
    )
    op.create_table(
        "transaction",
        sa.Column("issued_at", sa.DateTime(), nullable=True),
        sa.Column("id", sa.BigInteger(), autoincrement=True, nullable=False),
        sa.Column("remote_addr", sa.String(length=50), nullable=True),
        sa.PrimaryKeyConstraint("id"),
    )
    op.add_column(
        "project",
        sa.Column(
            "logging_preference",
            sa.Enum("DISABLED", "ENABLED", "RECORD_IP", name="loggingmode"),
            server_default="ENABLED",
            nullable=False,
        ),
    )
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_column("project", "logging_preference")
    op.drop_table("transaction")
    op.drop_index(
        op.f("ix_project_version_transaction_id"), table_name="project_version"
    )
    op.drop_index(
        op.f("ix_project_version_operation_type"), table_name="project_version"
    )
    op.drop_index(
        op.f("ix_project_version_end_transaction_id"), table_name="project_version"
    )
    op.drop_table("project_version")
    op.drop_index(op.f("ix_person_version_transaction_id"), table_name="person_version")
    op.drop_index(op.f("ix_person_version_operation_type"), table_name="person_version")
    op.drop_index(
        op.f("ix_person_version_end_transaction_id"), table_name="person_version"
    )
    op.drop_table("person_version")
    op.drop_index(
        op.f("ix_billowers_version_transaction_id"), table_name="billowers_version"
    )
    op.drop_index(
        op.f("ix_billowers_version_operation_type"), table_name="billowers_version"
    )
    op.drop_index(
        op.f("ix_billowers_version_end_transaction_id"), table_name="billowers_version"
    )
    op.drop_table("billowers_version")
    op.drop_index(op.f("ix_bill_version_transaction_id"), table_name="bill_version")
    op.drop_index(op.f("ix_bill_version_operation_type"), table_name="bill_version")
    op.drop_index(op.f("ix_bill_version_end_transaction_id"), table_name="bill_version")
    op.drop_table("bill_version")
    # ### end Alembic commands ###