Extra Column Types¶
EllarSQL comes with extra column type descriptor that will come in handy in your project. They include
GUID Column¶
GUID, Global Unique Identifier of 128-bit text string can be used as a unique identifier in a table. For applications that require a GUID type of primary, this can be a use resource. It uses UUID
type in Postgres and CHAR(32)
in other SQL databases.
import uuid
from ellar_sql import model
class Guid(model.Model):
id: model.Mapped[uuid.uuid4] = model.mapped_column(
"id",
model.GUID(),
nullable=False,
unique=True,
primary_key=True,
default=uuid.uuid4,
)
IPAddress Column¶
GenericIP
column type validates and converts column value to ipaddress.IPv4Address
or ipaddress.IPv6Address
. It uses INET
type in Postgres and CHAR(45)
in other SQL databases.
import typing as t
import ipaddress
from ellar_sql import model
class IPAddress(model.Model):
id = model.Column(model.Integer, primary_key=True)
ip: model.Mapped[t.Union[ipaddress.IPv4Address, ipaddress.IPv6Address]] = model.Column(model.GenericIP)