Skip to content

Commit 9172f53

Browse files
feat: migration for create dataset table
1 parent 3b58050 commit 9172f53

File tree

4 files changed

+52
-8
lines changed

4 files changed

+52
-8
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ pip install -r requirements_dev.txt
2323
export DATABASE_URL="postgresql://oc4ids_datastore@localhost/oc4ids_datastore"
2424
```
2525

26+
### Run database migrations
27+
28+
```
29+
alembic upgrade head
30+
```
31+
2632
### Run app
2733

2834
```
@@ -44,3 +50,9 @@ mypy oc4ids_datastore_pipeline/ tests/
4450
```
4551
pytest
4652
```
53+
54+
### Generating new database migrations
55+
56+
```
57+
alembic revision --autogenerate -m "<MESSAGE HERE>"
58+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"""create dataset table
2+
3+
Revision ID: aaabf849b37f
4+
Revises:
5+
Create Date: 2025-02-04 17:14:46.411090
6+
7+
"""
8+
9+
from typing import Sequence, Union
10+
11+
from alembic import op
12+
import sqlalchemy as sa
13+
14+
15+
# revision identifiers, used by Alembic.
16+
revision: str = "aaabf849b37f"
17+
down_revision: Union[str, None] = None
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+
# ### commands auto generated by Alembic - please adjust! ###
24+
op.create_table(
25+
"dataset",
26+
sa.Column("dataset_id", sa.String(), nullable=False),
27+
sa.Column("source_url", sa.String(), nullable=False),
28+
sa.Column("publisher_name", sa.String(), nullable=False),
29+
sa.Column("json_url", sa.String(), nullable=False),
30+
sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
31+
sa.PrimaryKeyConstraint("dataset_id"),
32+
)
33+
# ### end Alembic commands ###
34+
35+
36+
def downgrade() -> None:
37+
# ### commands auto generated by Alembic - please adjust! ###
38+
op.drop_table("dataset")
39+
# ### end Alembic commands ###

oc4ids_datastore_pipeline/database.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,6 @@ def get_engine() -> Engine:
3636
return _engine
3737

3838

39-
def create_tables() -> None:
40-
logger.info("Creating database tables")
41-
Base.metadata.create_all(get_engine())
42-
logger.info("Created tables successfully")
43-
44-
4539
def save_dataset(dataset: Dataset) -> None:
4640
with Session(get_engine()) as session:
4741
session.merge(dataset)

oc4ids_datastore_pipeline/pipeline.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import requests
88
from libcoveoc4ids.api import oc4ids_json_output
99

10-
from oc4ids_datastore_pipeline.database import Dataset, create_tables, save_dataset
10+
from oc4ids_datastore_pipeline.database import Dataset, save_dataset
1111

1212
logger = logging.getLogger(__name__)
1313

@@ -105,5 +105,4 @@ def process_datasets() -> None:
105105

106106

107107
def run() -> None:
108-
create_tables()
109108
process_datasets()

0 commit comments

Comments
 (0)