Skip to content

Commit

Permalink
Alembic migration and rename source column to label
Browse files Browse the repository at this point in the history
  • Loading branch information
mayaCostantini committed Feb 2, 2022
1 parent 92b8c00 commit d3796f5
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"""Separate the project_url column from the python_package_metadata_project_url table into two columns label and url
Revision ID: 2b787ddad4a4
Revises: 930b47e27b6c
Create Date: 2022-01-31 16:26:38.049747+00:00
"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = "2b787ddad4a4"
down_revision = "930b47e27b6c"
branch_labels = None
depends_on = None


def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column("has_symbol", "software_environment_id", existing_type=sa.INTEGER(), nullable=False)
op.alter_column("has_symbol", "versioned_symbol_id", existing_type=sa.INTEGER(), nullable=False)
op.add_column("python_package_metadata_project_url", sa.Column("url", sa.Text(), nullable=True))
op.add_column("python_package_metadata_project_url", sa.Column("label", sa.Text(), nullable=True))
op.drop_column("python_package_metadata_project_url", "project_url")
op.create_unique_constraint(None, "python_package_version_entity_rule", ["id"])
op.drop_index("thoth_s2i_image_name", table_name="software_environment")
op.create_index("thoth_image_name", "software_environment", ["thoth_image_version"], unique=False)
# ### end Alembic commands ###


def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index("thoth_image_name", table_name="software_environment")
op.create_index("thoth_s2i_image_name", "software_environment", ["thoth_image_version"], unique=False)
op.drop_constraint(None, "python_package_version_entity_rule", type_="unique")
op.add_column(
"python_package_metadata_project_url", sa.Column("project_url", sa.TEXT(), autoincrement=False, nullable=True)
)
op.drop_column("python_package_metadata_project_url", "label")
op.drop_column("python_package_metadata_project_url", "url")
op.alter_column("has_symbol", "versioned_symbol_id", existing_type=sa.INTEGER(), nullable=True)
op.alter_column("has_symbol", "software_environment_id", existing_type=sa.INTEGER(), nullable=True)
# ### end Alembic commands ###
2 changes: 1 addition & 1 deletion thoth/storages/graph/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1500,7 +1500,7 @@ class PythonPackageMetadataProjectUrl(Base, BaseExtension):

id = Column(Integer, primary_key=True, autoincrement=True)
url = Column(Text, nullable=True)
source = Column(Text, nullable=True)
label = Column(Text, nullable=True)

python_packages_metadata = relationship(
"HasMetadataProjectUrl", back_populates="python_package_metadata_project_urls"
Expand Down
4 changes: 2 additions & 2 deletions thoth/storages/graph/postgres.py
Original file line number Diff line number Diff line change
Expand Up @@ -5752,9 +5752,9 @@ def _create_multi_part_keys_metadata(
)

for project_url in importlib_metadata.pop("Project-URL", []):
source, url = project_url.split(",")[0].strip(), project_url.split(",")[1].strip()
label, url = project_url.split(",")[0].strip(), project_url.split(",")[1].strip()
python_package_metadata_project_url, _ = PythonPackageMetadataProjectUrl.get_or_create(
session, source=source, url=url
session, label=label, url=url
)
HasMetadataProjectUrl.get_or_create(
session,
Expand Down

0 comments on commit d3796f5

Please sign in to comment.