welearn-database 1.2.0.dev0__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/PKG-INFO +1 -1
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/pyproject.toml +1 -1
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/env.py +9 -0
- welearn_database-1.3.0/welearn_database/alembic/versions/2ad4895b2674_data_collection.py +100 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/e354666f951d_inferred_user.py +29 -2
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/user_related.py +26 -3
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/LICENSE +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/README.md +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/__init__.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/README +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/script.py.mako +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/068312e7800c_add_referrer_origin_column_to_user_and_.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/0e0bc0fca384_doc_qty_per_source.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/16ff997426d3_remove_error_retrieval_unique_constraint.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/4c7161819e5a_grafana_views.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/4f5a188dd614_add_main_url_column.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/4fcbfb7f3145_added_api_key_management_table.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/5d82613c9aca_context_document.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/821173cf9c5d_initial_migration.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/84c42739c17b_create_table_errordataquality.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/89920abb7ff8_add_category.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/96bba9e4842a_merge_external_id_error_quality.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/a50a1db3ca2a_add_used_since_column_for_embeddings.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/b031206324b7_agent_related.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/versions/ccdbd708c997_create_column_external_id.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/__init__.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/enumeration.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/__init__.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/agent_related.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/corpus_related.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/document_related.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/grafana.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/database_utils.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/exceptions.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/modules/__init__.py +0 -0
- {welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/modules/text_cleaning.py +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os
|
|
1
2
|
from logging.config import fileConfig
|
|
2
3
|
|
|
3
4
|
from alembic import context
|
|
@@ -75,6 +76,14 @@ def run_migrations_online() -> None:
|
|
|
75
76
|
load_dotenv()
|
|
76
77
|
connectable = create_sqlalchemy_engine()
|
|
77
78
|
|
|
79
|
+
if "prod" in os.getenv("PG_HOST").lower():
|
|
80
|
+
print("Connecting to production database for migrations!")
|
|
81
|
+
input("Press Enter to continue...")
|
|
82
|
+
elif "dev" in os.getenv("PG_HOST" "").lower():
|
|
83
|
+
print("Connecting to development database for migrations!")
|
|
84
|
+
else:
|
|
85
|
+
print("Connecting to unknown database for migrations!")
|
|
86
|
+
|
|
78
87
|
with connectable.connect() as connection:
|
|
79
88
|
context.configure(
|
|
80
89
|
connection=connection,
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"""data collection
|
|
2
|
+
|
|
3
|
+
Revision ID: 2ad4895b2674
|
|
4
|
+
Revises: 068312e7800c
|
|
5
|
+
Create Date: 2026-01-16 15:55:41.447852
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from typing import Sequence, Union
|
|
10
|
+
|
|
11
|
+
import sqlalchemy as sa
|
|
12
|
+
from alembic import op
|
|
13
|
+
from sqlalchemy.dialects import postgresql
|
|
14
|
+
|
|
15
|
+
# revision identifiers, used by Alembic.
|
|
16
|
+
revision: str = "2ad4895b2674"
|
|
17
|
+
down_revision: Union[str, None] = "068312e7800c"
|
|
18
|
+
branch_labels: Union[str, Sequence[str], None] = None
|
|
19
|
+
depends_on: Union[str, Sequence[str], None] = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def upgrade() -> None:
|
|
23
|
+
op.create_table(
|
|
24
|
+
"data_collection_campaign_management",
|
|
25
|
+
sa.Column(
|
|
26
|
+
"id", sa.Uuid(), server_default=sa.func.gen_random_uuid(), nullable=False
|
|
27
|
+
),
|
|
28
|
+
sa.Column("is_active", sa.Boolean(), nullable=False),
|
|
29
|
+
sa.Column("end_at", postgresql.TIMESTAMP(), nullable=False),
|
|
30
|
+
sa.Column(
|
|
31
|
+
"created_at", postgresql.TIMESTAMP(), server_default="NOW()", nullable=False
|
|
32
|
+
),
|
|
33
|
+
sa.PrimaryKeyConstraint("id"),
|
|
34
|
+
schema="user_related",
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
op.add_column(
|
|
38
|
+
"chat_message",
|
|
39
|
+
sa.Column("role", sa.String(), nullable=False),
|
|
40
|
+
schema="user_related",
|
|
41
|
+
)
|
|
42
|
+
op.add_column(
|
|
43
|
+
"chat_message",
|
|
44
|
+
sa.Column("inferred_user_id", sa.Uuid(), nullable=False),
|
|
45
|
+
schema="user_related",
|
|
46
|
+
)
|
|
47
|
+
op.add_column(
|
|
48
|
+
"chat_message",
|
|
49
|
+
sa.Column("conversation_id", sa.Uuid(), nullable=False),
|
|
50
|
+
schema="user_related",
|
|
51
|
+
)
|
|
52
|
+
op.drop_constraint(
|
|
53
|
+
op.f("message_user_id_fkey"),
|
|
54
|
+
"chat_message",
|
|
55
|
+
schema="user_related",
|
|
56
|
+
type_="foreignkey",
|
|
57
|
+
)
|
|
58
|
+
op.create_foreign_key(
|
|
59
|
+
"message_inferred_user_id_fkey",
|
|
60
|
+
"chat_message",
|
|
61
|
+
"inferred_user",
|
|
62
|
+
["inferred_user_id"],
|
|
63
|
+
["id"],
|
|
64
|
+
source_schema="user_related",
|
|
65
|
+
referent_schema="user_related",
|
|
66
|
+
)
|
|
67
|
+
op.drop_column("chat_message", "user_id", schema="user_related")
|
|
68
|
+
op.add_column(
|
|
69
|
+
"returned_document",
|
|
70
|
+
sa.Column("is_clicked", sa.Boolean(), nullable=False),
|
|
71
|
+
schema="user_related",
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def downgrade() -> None:
|
|
76
|
+
op.drop_column("returned_document", "is_clicked", schema="user_related")
|
|
77
|
+
op.add_column(
|
|
78
|
+
"chat_message",
|
|
79
|
+
sa.Column("user_id", sa.Uuid(), nullable=False),
|
|
80
|
+
schema="user_related",
|
|
81
|
+
)
|
|
82
|
+
op.drop_constraint(
|
|
83
|
+
"message_inferred_user_id_fkey",
|
|
84
|
+
"chat_message",
|
|
85
|
+
schema="user_related",
|
|
86
|
+
type_="foreignkey",
|
|
87
|
+
)
|
|
88
|
+
op.create_foreign_key(
|
|
89
|
+
op.f("message_user_id_fkey"),
|
|
90
|
+
"chat_message",
|
|
91
|
+
"user_profile",
|
|
92
|
+
["user_id"],
|
|
93
|
+
["id"],
|
|
94
|
+
source_schema="user_related",
|
|
95
|
+
referent_schema="user_related",
|
|
96
|
+
)
|
|
97
|
+
op.drop_column("chat_message", "conversation_id", schema="user_related")
|
|
98
|
+
op.drop_column("chat_message", "inferred_user_id", schema="user_related")
|
|
99
|
+
op.drop_column("chat_message", "role", schema="user_related")
|
|
100
|
+
op.drop_table("data_collection_campaign_management", schema="user_related")
|
|
@@ -10,9 +10,8 @@ from typing import Sequence, Union
|
|
|
10
10
|
|
|
11
11
|
import sqlalchemy
|
|
12
12
|
import sqlalchemy as sa
|
|
13
|
-
from sqlalchemy.dialects import postgresql
|
|
14
|
-
|
|
15
13
|
from alembic import op
|
|
14
|
+
from sqlalchemy.dialects import postgresql
|
|
16
15
|
|
|
17
16
|
# revision identifiers, used by Alembic.
|
|
18
17
|
revision: str = "e354666f951d"
|
|
@@ -80,9 +79,37 @@ def upgrade() -> None:
|
|
|
80
79
|
sa.PrimaryKeyConstraint("id"),
|
|
81
80
|
schema="user_related",
|
|
82
81
|
)
|
|
82
|
+
op.drop_column("bookmark", "user_id", schema="user_related")
|
|
83
|
+
op.add_column(
|
|
84
|
+
"bookmark",
|
|
85
|
+
sa.Column("inferred_user_id", sa.Uuid(), nullable=True),
|
|
86
|
+
schema="user_related",
|
|
87
|
+
)
|
|
88
|
+
op.create_foreign_key(
|
|
89
|
+
"bookmark_inferred_user_id_fkey",
|
|
90
|
+
"bookmark",
|
|
91
|
+
"inferred_user",
|
|
92
|
+
["inferred_user_id"],
|
|
93
|
+
["id"],
|
|
94
|
+
source_schema="user_related",
|
|
95
|
+
referent_schema="user_related",
|
|
96
|
+
ondelete="CASCADE",
|
|
97
|
+
)
|
|
83
98
|
|
|
84
99
|
|
|
85
100
|
def downgrade() -> None:
|
|
86
101
|
op.drop_table("endpoint_request", schema="user_related")
|
|
87
102
|
op.drop_table("session", schema="user_related")
|
|
88
103
|
op.drop_table("inferred_user", schema="user_related")
|
|
104
|
+
op.drop_constraint(
|
|
105
|
+
"bookmark_inferred_user_id_fkey",
|
|
106
|
+
"bookmark",
|
|
107
|
+
schema="user_related",
|
|
108
|
+
type_="foreignkey",
|
|
109
|
+
)
|
|
110
|
+
op.drop_column("bookmark", "inferred_user_id", schema="user_related")
|
|
111
|
+
op.add_column(
|
|
112
|
+
"bookmark",
|
|
113
|
+
sa.Column("user_id", sa.Uuid(), nullable=True),
|
|
114
|
+
schema="user_related",
|
|
115
|
+
)
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/user_related.py
RENAMED
|
@@ -85,11 +85,16 @@ class ChatMessage(Base):
|
|
|
85
85
|
id: Mapped[UUID] = mapped_column(
|
|
86
86
|
types.Uuid, primary_key=True, nullable=False, server_default="gen_random_uuid()"
|
|
87
87
|
)
|
|
88
|
-
|
|
88
|
+
inferred_user_id = mapped_column(
|
|
89
89
|
types.Uuid,
|
|
90
|
-
ForeignKey(f"{DbSchemaEnum.USER_RELATED.value}.
|
|
90
|
+
ForeignKey(f"{DbSchemaEnum.USER_RELATED.value}.inferred_user.id"),
|
|
91
91
|
nullable=False,
|
|
92
92
|
)
|
|
93
|
+
conversation_id = mapped_column(
|
|
94
|
+
types.Uuid,
|
|
95
|
+
nullable=False,
|
|
96
|
+
)
|
|
97
|
+
role: Mapped[str]
|
|
93
98
|
textual_content: Mapped[str]
|
|
94
99
|
|
|
95
100
|
created_at: Mapped[datetime] = mapped_column(
|
|
@@ -105,7 +110,7 @@ class ChatMessage(Base):
|
|
|
105
110
|
server_default="NOW()",
|
|
106
111
|
onupdate=func.localtimestamp(),
|
|
107
112
|
)
|
|
108
|
-
|
|
113
|
+
inferred_user: Mapped["InferredUser"] = relationship()
|
|
109
114
|
|
|
110
115
|
|
|
111
116
|
class ReturnedDocument(Base):
|
|
@@ -128,6 +133,7 @@ class ReturnedDocument(Base):
|
|
|
128
133
|
),
|
|
129
134
|
nullable=False,
|
|
130
135
|
)
|
|
136
|
+
is_clicked: Mapped[bool] = mapped_column(default=False)
|
|
131
137
|
welearn_document: Mapped["WeLearnDocument"] = relationship()
|
|
132
138
|
chat_message: Mapped["ChatMessage"] = relationship()
|
|
133
139
|
|
|
@@ -158,6 +164,23 @@ class APIKeyManagement(Base):
|
|
|
158
164
|
)
|
|
159
165
|
|
|
160
166
|
|
|
167
|
+
class DataCollectionCampaignManagement(Base):
|
|
168
|
+
__tablename__ = "data_collection_campaign_management"
|
|
169
|
+
__table_args__ = {"schema": DbSchemaEnum.USER_RELATED.value}
|
|
170
|
+
|
|
171
|
+
id: Mapped[UUID] = mapped_column(
|
|
172
|
+
types.Uuid, primary_key=True, nullable=False, server_default="gen_random_uuid()"
|
|
173
|
+
)
|
|
174
|
+
is_active: Mapped[bool]
|
|
175
|
+
end_at: Mapped[datetime] = mapped_column(TIMESTAMP(timezone=False), nullable=False)
|
|
176
|
+
created_at: Mapped[datetime] = mapped_column(
|
|
177
|
+
TIMESTAMP(timezone=False),
|
|
178
|
+
nullable=False,
|
|
179
|
+
default=func.localtimestamp(),
|
|
180
|
+
server_default="NOW()",
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
161
184
|
class Session(Base):
|
|
162
185
|
__tablename__ = "session"
|
|
163
186
|
__table_args__ = {"schema": "user_related"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/alembic/script.py.mako
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/__init__.py
RENAMED
|
File without changes
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/agent_related.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/data/models/grafana.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{welearn_database-1.2.0.dev0 → welearn_database-1.3.0}/welearn_database/modules/text_cleaning.py
RENAMED
|
File without changes
|