diff --git a/pyproject.toml b/pyproject.toml index 1d15867..4b67a2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "welearn-database" -version = "1.1.1" +version = "1.2.0" description = "All stuff related to relationnal database from the WeLearn project" authors = [ {name = "Théo",email = "theo.nardin@cri-paris.org"} diff --git a/welearn_database/alembic/versions/068312e7800c_add_referrer_origin_column_to_user_and_.py b/welearn_database/alembic/versions/068312e7800c_add_referrer_origin_column_to_user_and_.py new file mode 100644 index 0000000..73713fe --- /dev/null +++ b/welearn_database/alembic/versions/068312e7800c_add_referrer_origin_column_to_user_and_.py @@ -0,0 +1,45 @@ +"""add referrer origin column to user and session + +Revision ID: 068312e7800c +Revises: 4f5a188dd614 +Create Date: 2026-01-12 11:45:40.359740 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "068312e7800c" +down_revision: Union[str, None] = "4f5a188dd614" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column( + "session", + sa.Column("origin_referrer", sa.String(), nullable=True), + schema="user_related", + ) + op.add_column( + "inferred_user", + sa.Column("origin_referrer", sa.String(), nullable=True), + schema="user_related", + ) + + +def downgrade() -> None: + op.drop_column( + "inferred_user", + "origin_referrer", + schema="user_related", + ) + op.drop_column( + "session", + "origin_referrer", + schema="user_related", + ) diff --git a/welearn_database/data/models/user_related.py b/welearn_database/data/models/user_related.py index a90e874..3532a81 100644 --- a/welearn_database/data/models/user_related.py +++ b/welearn_database/data/models/user_related.py @@ -169,6 +169,7 @@ class Session(Base): ForeignKey("user_related.inferred_user.id"), nullable=False, ) + origin_referrer: Mapped[str | None] created_at: Mapped[datetime] = mapped_column( TIMESTAMP(timezone=False), nullable=False, @@ -186,6 +187,7 @@ class InferredUser(Base): id: Mapped[UUID] = mapped_column( types.Uuid, primary_key=True, nullable=False, server_default="gen_random_uuid()" ) + origin_referrer: Mapped[str | None] created_at: Mapped[datetime] = mapped_column( TIMESTAMP(timezone=False), nullable=False,