Files
croccybot/src/modules/rooms/data.py

49 lines
1.5 KiB
Python

from data import Registry, RowModel
from data.columns import Integer, Timestamp, String
class RoomData(Registry):
class Room(RowModel):
"""
CREATE TABLE rented_rooms(
channelid BIGINT PRIMARY KEY,
guildid BIGINT NOT NULL,
ownerid BIGINT NOT NULL,
coin_balance INTEGER NOT NULL DEFAULT 0,
name TEXT,
created_at TIMESTAMPTZ DEFAULT now(),
last_tick TIMESTAMPTZ,
deleted_at TIMESTAMPTZ,
FOREIGN KEY (guildid, ownerid) REFERENCES members (guildid, userid) ON DELETE CASCADE
);
CREATE INDEX rented_owners ON rented (guildid, ownerid);
"""
_tablename_ = 'rented_rooms'
channelid = Integer(primary=True)
guildid = Integer()
ownerid = Integer()
coin_balance = Integer()
name = String()
created_at = Timestamp()
last_tick = Timestamp()
deleted_at = Timestamp()
class RoomMember(RowModel):
"""
Schema
------
CREATE TABLE rented_members(
channelid BIGINT NOT NULL REFERENCES rented(channelid) ON DELETE CASCADE,
userid BIGINT NOT NULL,
contribution INTEGER NOT NULL DEFAULT 0
);
CREATE INDEX rented_members_channels ON rented_members (channelid);
CREATE INDEX rented_members_users ON rented_members (userid);
"""
_tablename_ = 'rented_members'
channelid = Integer(primary=True)
userid = Integer(primary=True)
contribution = Integer()