Skip to content
Snippets Groups Projects
Commit 2390fc1e authored by Andrea Callia D'Iddio's avatar Andrea Callia D'Iddio
Browse files

Feat: add support for categories in the database.

parent ce8d44b7
No related branches found
No related tags found
1 merge request!14WIP: Support group based restriction
from ..database import db
class Category(db.Model):
code = db.Column(db.String, primary_key=True)
title = db.Column(db.String)
@property
def name(self) -> str:
return self.title if self.title else self.code
......@@ -5,6 +5,7 @@ class Person(db.Model):
username = db.Column(db.String, primary_key=True)
firstname = db.Column(db.String, nullable=False)
lastname = db.Column(db.String, nullable=False)
categories = db.Column(db.ARRAY(db.String), nullable=False)
@property
def full_name(self) -> str:
......
from ..database import db
from .category import Category
from .dialect_compatibility import utcnow
......@@ -8,6 +9,7 @@ class Project(db.Model):
on_behalf = db.Column(db.String)
title = db.Column(db.String)
description = db.Column(db.String)
category = db.Column(db.String, db.ForeignKey(Category.code), nullable=False)
timestamp = db.Column(db.DateTime, nullable=False, server_default=utcnow())
deleted = db.Column(db.DateTime)
......
"""Add category information.
Revision ID: c5b560bb3d58
Revises: c7458a7dd4d8
Create Date: 2023-02-03 17:59:59.982256
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "c5b560bb3d58"
down_revision = "c7458a7dd4d8"
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column(
"person", sa.Column("categories", sa.ARRAY(sa.String()), nullable=False)
)
op.add_column("project", sa.Column("category", sa.String(), nullable=False))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column("project", "category")
op.drop_column("person", "categories")
# ### end Alembic commands ###
"""Add foreign key for category in project table.
Revision ID: e794d182f9d3
Revises: c5b560bb3d58
Create Date: 2023-02-03 18:02:46.930212
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "e794d182f9d3"
down_revision = "c5b560bb3d58"
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"category",
sa.Column("code", sa.String(), nullable=False),
sa.Column("title", sa.String(), nullable=True),
sa.PrimaryKeyConstraint("code"),
)
op.create_foreign_key(None, "project", "category", ["category"], ["code"])
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, "project", type_="foreignkey")
op.drop_table("category")
# ### end Alembic commands ###
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment