feat:
--ADDED create cluster api
This commit is contained in:
1 parent
96be1fc94e
commit
d0e1d31093
3 files changed
+146
-7
No files matched your search
@@ -1,8 +1,10 @@
|
||||
from sqlalchemy import Column, BigInteger, Integer, String
|
||||
from database import Base
|
||||
from database import Base, engine
|
||||
import uuid
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy import ForeignKey
|
||||
from sqlalchemy import text
|
||||
class NodeInterface(Base):
|
||||
__tablename__ = "fastAPI_node_interface"
|
||||
|
||||
@@ -49,4 +51,68 @@ class NodeInterface(Base):
|
||||
user = Column(
|
||||
String,
|
||||
nullable=False
|
||||
)
|
||||
)
|
||||
|
||||
cluster_id = Column(
|
||||
UUID(as_uuid=True),
|
||||
ForeignKey("fastAPI_cluster.uuid"),
|
||||
nullable=True
|
||||
)
|
||||
|
||||
cluster = relationship(
|
||||
"Cluster",
|
||||
back_populates="nodes"
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Cluster(Base):
|
||||
__tablename__ = "fastAPI_cluster"
|
||||
|
||||
uuid = Column(
|
||||
UUID(as_uuid=True),
|
||||
primary_key=True,
|
||||
default=uuid.uuid4,
|
||||
nullable=False
|
||||
)
|
||||
|
||||
cluster_name = Column(
|
||||
String,
|
||||
unique=True,
|
||||
nullable=False
|
||||
)
|
||||
|
||||
nodes = relationship(
|
||||
"NodeInterface",
|
||||
back_populates="cluster"
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
#EXPERIMENTAL
|
||||
|
||||
def add_cluster_id_column():
|
||||
|
||||
with engine.begin() as conn:
|
||||
|
||||
conn.execute(text("""
|
||||
ALTER TABLE "fastAPI_node_interface"
|
||||
ADD COLUMN IF NOT EXISTS cluster_id UUID;
|
||||
"""))
|
||||
|
||||
conn.execute(text("""
|
||||
ALTER TABLE "fastAPI_node_interface"
|
||||
ADD CONSTRAINT fk_node_interface_cluster
|
||||
FOREIGN KEY (cluster_id)
|
||||
REFERENCES "fastAPI_cluster"(uuid);
|
||||
"""))
|
||||
|
||||
# add_cluster_id_column()
|
||||
Reference in new issue
Block a user