Skip to content

Commit 5b1671f

Browse files
committed
add db migration for dataset table
1 parent a4b543c commit 5b1671f

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

database/models.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from flask_sqlalchemy import SQLAlchemy
66
from geoalchemy2 import Geometry
77
from sqlalchemy import CheckConstraint, Column, Enum, String, func
8-
from sqlalchemy.dialects.postgresql import JSONB, TSVECTOR
8+
from sqlalchemy.dialects.postgresql import JSONB
99
from sqlalchemy.orm import DeclarativeBase, backref
1010
from sqlalchemy.ext.mutable import MutableDict
1111

@@ -232,7 +232,6 @@ class Dataset(db.Model):
232232
db.DateTime,
233233
index=True
234234
)
235-
search_vector = db.Column(TSVECTOR)
236235

237236
organization = db.relationship(
238237
"Organization",
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
"""Create dataset table
2+
3+
Revision ID: d2a064c40061
4+
Revises: 1c80316df048
5+
Create Date: 2025-11-21 15:30:00.000000
6+
7+
"""
8+
9+
import sqlalchemy as sa
10+
from alembic import op
11+
from sqlalchemy.dialects import postgresql
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "d2a064c40061"
15+
down_revision = "1c80316df048"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
op.create_table(
22+
"dataset",
23+
sa.Column("slug", sa.String(), nullable=False),
24+
sa.Column("dcat", postgresql.JSONB(astext_type=sa.Text()), nullable=False),
25+
sa.Column("organization_id", sa.String(length=36), nullable=False),
26+
sa.Column("harvest_source_id", sa.String(length=36), nullable=False),
27+
sa.Column("harvest_record_id", sa.String(length=36), nullable=False),
28+
sa.Column("popularity", sa.Numeric(), nullable=True),
29+
sa.Column("last_harvested_date", sa.DateTime(), nullable=True),
30+
sa.Column("id", sa.String(length=36), nullable=False),
31+
sa.ForeignKeyConstraint(["organization_id"], ["organization.id"]),
32+
sa.ForeignKeyConstraint(["harvest_source_id"], ["harvest_source.id"]),
33+
sa.ForeignKeyConstraint(["harvest_record_id"], ["harvest_record.id"]),
34+
sa.PrimaryKeyConstraint("id"),
35+
)
36+
op.create_index(op.f("ix_dataset_slug"), "dataset", ["slug"], unique=True)
37+
op.create_index(
38+
op.f("ix_dataset_organization_id"),
39+
"dataset",
40+
["organization_id"],
41+
unique=False,
42+
)
43+
op.create_index(
44+
op.f("ix_dataset_harvest_source_id"),
45+
"dataset",
46+
["harvest_source_id"],
47+
unique=False,
48+
)
49+
op.create_index(
50+
op.f("ix_dataset_harvest_record_id"),
51+
"dataset",
52+
["harvest_record_id"],
53+
unique=False,
54+
)
55+
op.create_index(
56+
op.f("ix_dataset_last_harvested_date"),
57+
"dataset",
58+
["last_harvested_date"],
59+
unique=False,
60+
)
61+
62+
63+
def downgrade():
64+
op.drop_index(op.f("ix_dataset_last_harvested_date"), table_name="dataset")
65+
op.drop_index(op.f("ix_dataset_harvest_record_id"), table_name="dataset")
66+
op.drop_index(op.f("ix_dataset_harvest_source_id"), table_name="dataset")
67+
op.drop_index(op.f("ix_dataset_organization_id"), table_name="dataset")
68+
op.drop_index(op.f("ix_dataset_slug"), table_name="dataset")
69+
op.drop_table("dataset")

0 commit comments

Comments
 (0)