WIP: created Project and Environment models

This commit is contained in:
richard-dds
2018-08-17 11:35:21 -04:00
parent 01778ada05
commit 8d58b2a7a0
6 changed files with 92 additions and 2 deletions

View File

@@ -11,3 +11,5 @@ from .workspace_role import WorkspaceRole
from .pe_number import PENumber
from .task_order import TaskOrder
from .workspace import Workspace
from .project import Project
from .environment import Environment

View File

@@ -0,0 +1,16 @@
from sqlalchemy import Column, ForeignKey, String
from sqlalchemy.orm import relationship
from atst.models import Base
from atst.models.types import Id
from atst.models.mixins import TimestampsMixin
class Environment(Base, TimestampsMixin):
__tablename__ = "environments"
id = Id()
name = Column(String, nullable=False)
project_id = Column(ForeignKey("projects.id"))
project = relationship("Project")

18
atst/models/project.py Normal file
View File

@@ -0,0 +1,18 @@
from sqlalchemy import Column, ForeignKey, String
from sqlalchemy.orm import relationship
from atst.models import Base
from atst.models.types import Id
from atst.models.mixins import TimestampsMixin
class Project(Base, TimestampsMixin):
__tablename__ = "projects"
id = Id()
name = Column(String, nullable=False)
description = Column(String, nullable=False)
workspace_id = Column(ForeignKey("workspaces.id"), nullable=False)
workspace = relationship("Workspace")
projects = relationship("Environment", back_populates="project")

View File

@@ -10,11 +10,11 @@ class Workspace(Base, TimestampsMixin):
__tablename__ = "workspaces"
id = Id()
name = Column(String, unique=True)
request_id = Column(ForeignKey("requests.id"), nullable=False)
request = relationship("Request")
name = Column(String, unique=True)
projects = relationship("Project", back_populates="workspace")
@property
def owner(self):