--ADDED create cluster api
This commit is contained in:
george committed 2026-09-10 11:43:09 +05:30
1 parent 96be1fc94e
commit d0e1d31093
3 files changed
+146 -7

No files matched your search

+69 -3
View File
@@ -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()