Skip to content

Commit c3c8667

Browse files
committed
Add schemas and sequences for document-related operations in initial migration
1 parent 28db1c3 commit c3c8667

1 file changed

Lines changed: 117 additions & 27 deletions

File tree

welearn_database/alembic/versions/821173cf9c5d_initial_migration.py

Lines changed: 117 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
from typing import Sequence, Union
1010

11+
import sqlalchemy
1112
import sqlalchemy as sa
12-
from sqlalchemy.dialects import postgresql
13-
1413
from alembic import op
14+
from sqlalchemy.dialects import postgresql
1515

1616
# revision identifiers, used by Alembic.
1717
revision: str = "821173cf9c5d"
@@ -22,9 +22,22 @@
2222

2323
def upgrade() -> None:
2424
# ### commands auto generated by Alembic - please adjust! ###
25+
op.execute("CREATE SCHEMA IF NOT EXISTS document_related;")
26+
op.execute("CREATE SCHEMA IF NOT EXISTS corpus_related;")
27+
op.execute("CREATE SCHEMA IF NOT EXISTS user_related;")
28+
29+
op.execute(
30+
"CREATE SEQUENCE IF NOT EXISTS document_related.process_state_operation_order_seq"
31+
)
32+
2533
op.create_table(
2634
"bi_classifier_model",
27-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
35+
sa.Column(
36+
"id",
37+
sa.Uuid(),
38+
server_default=sqlalchemy.func.gen_random_uuid(),
39+
nullable=False,
40+
),
2841
sa.Column("title", sa.String(), nullable=False),
2942
sa.Column("binary_treshold", sa.NUMERIC(), nullable=False),
3043
sa.Column("lang", sa.String(), nullable=False),
@@ -36,7 +49,12 @@ def upgrade() -> None:
3649
)
3750
op.create_table(
3851
"corpus",
39-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
52+
sa.Column(
53+
"id",
54+
sa.Uuid(),
55+
server_default=sqlalchemy.func.gen_random_uuid(),
56+
nullable=False,
57+
),
4058
sa.Column("source_name", sa.String(), nullable=False),
4159
sa.Column("is_fix", sa.Boolean(), nullable=False),
4260
sa.Column("binary_treshold", sa.NUMERIC(), nullable=False),
@@ -46,15 +64,25 @@ def upgrade() -> None:
4664
)
4765
op.create_table(
4866
"embedding_model",
49-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
67+
sa.Column(
68+
"id",
69+
sa.Uuid(),
70+
server_default=sqlalchemy.func.gen_random_uuid(),
71+
nullable=False,
72+
),
5073
sa.Column("title", sa.String(), nullable=False),
5174
sa.Column("lang", sa.String(), nullable=False),
5275
sa.PrimaryKeyConstraint("id"),
5376
schema="corpus_related",
5477
)
5578
op.create_table(
5679
"n_classifier_model",
57-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
80+
sa.Column(
81+
"id",
82+
sa.Uuid(),
83+
server_default=sqlalchemy.func.gen_random_uuid(),
84+
nullable=False,
85+
),
5886
sa.Column("title", sa.String(), nullable=False),
5987
sa.Column("lang", sa.String(), nullable=False),
6088
sa.Column("treshold_sdg_1", sa.NUMERIC(), nullable=False),
@@ -81,7 +109,12 @@ def upgrade() -> None:
81109
)
82110
op.create_table(
83111
"keyword",
84-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
112+
sa.Column(
113+
"id",
114+
sa.Uuid(),
115+
server_default=sqlalchemy.func.gen_random_uuid(),
116+
nullable=False,
117+
),
85118
sa.Column("keyword", sa.String(), nullable=False),
86119
sa.Column(
87120
"created_at", postgresql.TIMESTAMP(), server_default="NOW()", nullable=False
@@ -92,7 +125,12 @@ def upgrade() -> None:
92125
)
93126
op.create_table(
94127
"user_profile",
95-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
128+
sa.Column(
129+
"id",
130+
sa.Uuid(),
131+
server_default=sqlalchemy.func.gen_random_uuid(),
132+
nullable=False,
133+
),
96134
sa.Column("username", sa.String(), nullable=False),
97135
sa.Column("email", sa.String(), nullable=False),
98136
sa.Column("password_digest", sa.LargeBinary(), nullable=False),
@@ -173,7 +211,12 @@ def upgrade() -> None:
173211
)
174212
op.create_table(
175213
"welearn_document",
176-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
214+
sa.Column(
215+
"id",
216+
sa.Uuid(),
217+
server_default=sqlalchemy.func.gen_random_uuid(),
218+
nullable=False,
219+
),
177220
sa.Column("url", sa.String(), nullable=False),
178221
sa.Column("title", sa.String(), nullable=True),
179222
sa.Column("lang", sa.String(), nullable=True),
@@ -198,7 +241,12 @@ def upgrade() -> None:
198241
)
199242
op.create_table(
200243
"chat_message",
201-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
244+
sa.Column(
245+
"id",
246+
sa.Uuid(),
247+
server_default=sqlalchemy.func.gen_random_uuid(),
248+
nullable=False,
249+
),
202250
sa.Column("textual_content", sa.String(), nullable=False),
203251
sa.Column("user_id", sa.Uuid(), nullable=False),
204252
sa.Column(
@@ -216,7 +264,12 @@ def upgrade() -> None:
216264
)
217265
op.create_table(
218266
"analytic_counter",
219-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
267+
sa.Column(
268+
"id",
269+
sa.Uuid(),
270+
server_default=sqlalchemy.func.gen_random_uuid(),
271+
nullable=False,
272+
),
220273
sa.Column("document_id", sa.Uuid(), nullable=False),
221274
sa.Column("counter_name", sa.Enum("HIT", name="counter"), nullable=False),
222275
sa.Column("counter_value", sa.Integer(), nullable=False),
@@ -236,7 +289,12 @@ def upgrade() -> None:
236289
)
237290
op.create_table(
238291
"document_slice",
239-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
292+
sa.Column(
293+
"id",
294+
sa.Uuid(),
295+
server_default=sqlalchemy.func.gen_random_uuid(),
296+
nullable=False,
297+
),
240298
sa.Column("document_id", sa.Uuid(), nullable=False),
241299
sa.Column("embedding", sa.LargeBinary(), nullable=True),
242300
sa.Column("body", sa.String(), nullable=True),
@@ -257,7 +315,12 @@ def upgrade() -> None:
257315
)
258316
op.create_table(
259317
"error_retrieval",
260-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
318+
sa.Column(
319+
"id",
320+
sa.Uuid(),
321+
server_default=sqlalchemy.func.gen_random_uuid(),
322+
nullable=False,
323+
),
261324
sa.Column("document_id", sa.Uuid(), nullable=False),
262325
sa.Column("http_error_code", sa.Integer(), nullable=True),
263326
sa.Column(
@@ -282,7 +345,12 @@ def upgrade() -> None:
282345
)
283346
op.create_table(
284347
"process_state",
285-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
348+
sa.Column(
349+
"id",
350+
sa.Uuid(),
351+
server_default=sqlalchemy.func.gen_random_uuid(),
352+
nullable=False,
353+
),
286354
sa.Column("document_id", sa.Uuid(), nullable=False),
287355
sa.Column(
288356
"title",
@@ -308,7 +376,9 @@ def upgrade() -> None:
308376
sa.Column(
309377
"operation_order",
310378
sa.BIGINT(),
311-
server_default="nextval('document_related.process_state_operation_order_seq",
379+
server_default=sqlalchemy.text(
380+
"nextval('document_related.process_state_operation_order_seq')"
381+
),
312382
nullable=False,
313383
),
314384
sa.ForeignKeyConstraint(
@@ -321,7 +391,12 @@ def upgrade() -> None:
321391
)
322392
op.create_table(
323393
"welearn_document_keyword",
324-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
394+
sa.Column(
395+
"id",
396+
sa.Uuid(),
397+
server_default=sqlalchemy.func.gen_random_uuid(),
398+
nullable=False,
399+
),
325400
sa.Column("welearn_document_id", sa.Uuid(), nullable=False),
326401
sa.Column("keyword_id", sa.Uuid(), nullable=False),
327402
sa.ForeignKeyConstraint(
@@ -343,7 +418,12 @@ def upgrade() -> None:
343418
)
344419
op.create_table(
345420
"bookmark",
346-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
421+
sa.Column(
422+
"id",
423+
sa.Uuid(),
424+
server_default=sqlalchemy.func.gen_random_uuid(),
425+
nullable=False,
426+
),
347427
sa.Column("document_id", sa.Uuid(), nullable=False),
348428
sa.Column("user_id", sa.Uuid(), nullable=False),
349429
sa.Column(
@@ -365,7 +445,12 @@ def upgrade() -> None:
365445
)
366446
op.create_table(
367447
"returned_document",
368-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
448+
sa.Column(
449+
"id",
450+
sa.Uuid(),
451+
server_default=sqlalchemy.func.gen_random_uuid(),
452+
nullable=False,
453+
),
369454
sa.Column("message_id", sa.Uuid(), nullable=False),
370455
sa.Column("document_id", sa.Uuid(), nullable=False),
371456
sa.ForeignKeyConstraint(
@@ -382,7 +467,12 @@ def upgrade() -> None:
382467
)
383468
op.create_table(
384469
"sdg",
385-
sa.Column("id", sa.Uuid(), server_default="gen_random_uuid()", nullable=False),
470+
sa.Column(
471+
"id",
472+
sa.Uuid(),
473+
server_default=sqlalchemy.func.gen_random_uuid(),
474+
nullable=False,
475+
),
386476
sa.Column("sdg_number", sa.Integer(), nullable=False),
387477
sa.Column("slice_id", sa.Uuid(), nullable=False),
388478
sa.Column(
@@ -406,19 +496,19 @@ def upgrade() -> None:
406496
sa.PrimaryKeyConstraint("id"),
407497
schema="document_related",
408498
)
409-
op.drop_table("alembic_version")
499+
# op.drop_table("alembic_version")
410500
# ### end Alembic commands ###
411501

412502

413503
def downgrade() -> None:
414504
# ### commands auto generated by Alembic - please adjust! ###
415-
op.create_table(
416-
"alembic_version",
417-
sa.Column(
418-
"version_num", sa.VARCHAR(length=32), autoincrement=False, nullable=False
419-
),
420-
sa.PrimaryKeyConstraint("version_num", name="alembic_version_pkc"),
421-
)
505+
# op.create_table(
506+
# "alembic_version",
507+
# sa.Column(
508+
# "version_num", sa.VARCHAR(length=32), autoincrement=False, nullable=False
509+
# ),
510+
# sa.PrimaryKeyConstraint("version_num", name="alembic_version_pkc"),
511+
# )
422512
op.drop_table("sdg", schema="document_related")
423513
op.drop_table("returned_document", schema="user_related")
424514
op.drop_table("bookmark", schema="user_related")

0 commit comments

Comments
 (0)