У меня есть список доменов и список поддоменов. Например:
домен A имеет дочерние домены a1, a2, a3.
домен B имеет поддомен b1, b2, b3.
домен C не имеет поддоменов
Мне нужно создать структуру базы данных, чтобы я мог заказать ее так:
A
a1
a2
a3
B
b1
С
И мне нужно четко увидеть, какой из них является доменом или поддоменом какого домена.
Я пытался поместить домены в одну таблицу и субдомены в другую таблицу с ForeignKey к домену.
class Domain(Base):
__tablename__ = "domains"
domain_id = Column(Integer(), primary_key=True)
name = Column(String(), unique=True)
class Subdomain(Base):
__tablename__ = "subdomains"
subdomain_id = Column(Integer(), primary_key=True)
name = Column(String(), unique=True)
domain_id = Column(Integer, ForeignKey('domains.domain_id'))
Я использую домены и субдомены из обеих таблиц для создания третьей таблицы:
class Title(Base):
__tablename__ = "titles"
title_id = Column(Integer(), primary_key=True)
domain_id = Column(Integer, ForeignKey('domains.domain_id'))
subdomain_id = Column(Integer, ForeignKey('subdomains.subdomain_id')) -- NULL if that is a Domain
title = Column(String())
status = Column(Integer())