Skip to content

Commit 67630ef

Browse files
committed
fix: use pgvector Vector type in migrations
1 parent c1ef85d commit 67630ef

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

alembic/versions/0001_baseline.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from alembic import op
1313
import sqlalchemy as sa
14-
from sqlalchemy.dialects import postgresql
14+
from pgvector.sqlalchemy import Vector
1515

1616
# revision identifiers, used by Alembic.
1717
revision: str = "0001"
@@ -60,7 +60,7 @@ def upgrade() -> None:
6060
sa.Column("memory_type", sa.String(16), nullable=False, server_default="standard"),
6161
sa.Column("content", sa.Text, nullable=False),
6262
sa.Column("content_hash", sa.String(64), nullable=False),
63-
sa.Column("embedding", postgresql.ARRAY(sa.Float), nullable=False), # pgvector Vector(1536) at DB level
63+
sa.Column("embedding", Vector(1536), nullable=False),
6464
sa.Column("metadata", sa.JSON, nullable=False, server_default="{}"),
6565
sa.Column("scope", sa.String(16), nullable=False, server_default="agent-private"),
6666
sa.Column("shared_with_agents", sa.JSON, nullable=False, server_default="[]"),
@@ -172,7 +172,7 @@ def upgrade() -> None:
172172
op.create_table(
173173
"embedding_cache",
174174
sa.Column("content_hash", sa.String(64), primary_key=True),
175-
sa.Column("embedding", postgresql.ARRAY(sa.Float), nullable=False),
175+
sa.Column("embedding", Vector(1536), nullable=False),
176176
sa.Column("model", sa.String(64), nullable=False),
177177
sa.Column("created_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now()),
178178
sa.Column("hit_count", sa.Integer, nullable=False, server_default="0"),

alembic/versions/0005_interaction_events.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
from alembic import op
1616
import sqlalchemy as sa
17+
from pgvector.sqlalchemy import Vector
1718

1819
# revision identifiers, used by Alembic.
1920
revision: str = "0005"
@@ -42,7 +43,7 @@ def upgrade() -> None:
4243
sa.Column("extra_metadata", sa.JSON(), nullable=True),
4344
# Nullable: only populated when embed=True is requested at creation time.
4445
# pgvector >= 0.5.0 automatically skips NULL rows in HNSW indexes.
45-
sa.Column("embedding", sa.Text(), nullable=True), # stored as vector by pgvector
46+
sa.Column("embedding", Vector(1536), nullable=True),
4647
)
4748

4849
op.create_index(

0 commit comments

Comments
 (0)