CREATE TABLE accounts (
	id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
	username TEXT,
	password TEXT
);

CREATE TABLE mailboxes (
	id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
	account INTEGER NOT NULL,
	FOREIGN KEY(account) REFERENCES accounts(id),
	name TEXT,
	UNIQUE(account, name)
);

CREATE TABLE mail (
	id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
	mailbox INTEGER NOT NULL,
	FOREIGN KEY(mailbox) REFERENCES mailboxes(id),
	data bytea
);
