Database: Add member_email_address table
This commit is contained in:
@ -336,8 +336,6 @@ CREATE TABLE member (
|
||||
postal_dest TEXT NOT NULL,
|
||||
address TEXT NOT NULL,
|
||||
|
||||
email TEXT CHECK (email REGEXP '^[^@ ]+@([a-z0-9_\x2Däöüß]+\.)+[a-z]{2,}$') DEFAULT NULL,
|
||||
|
||||
default_kgnr INTEGER,
|
||||
contact_postal INTEGER NOT NULL CHECK (contact_postal IN (TRUE, FALSE)) DEFAULT TRUE,
|
||||
contact_email INTEGER NOT NULL CHECK (contact_email IN (TRUE, FALSE)) DEFAULT FALSE,
|
||||
@ -381,6 +379,7 @@ CREATE TABLE member_billing_address (
|
||||
CREATE TABLE member_telephone_number (
|
||||
mgnr INTEGER NOT NULL,
|
||||
nr INTEGER NOT NULL,
|
||||
|
||||
type TEXT NOT NULL CHECK (type REGEXP '^[a-z_]+$'),
|
||||
number TEXT NOT NULL CHECK (number REGEXP '^\+[0-9]{1,3}( [0-9]+)+(-[0-9]+)?$' AND LENGTH(REPLACE(REPLACE(REPLACE(number, '+', ''), ' ', ''), '-', '')) <= 15),
|
||||
comment TEXT DEFAULT NULL,
|
||||
@ -391,6 +390,19 @@ CREATE TABLE member_telephone_number (
|
||||
ON DELETE CASCADE
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE member_email_address (
|
||||
mgnr INTEGER NOT NULL,
|
||||
nr INTEGER NOT NULL,
|
||||
|
||||
address TEXT NOT NULL CHECK (address REGEXP '^[^@ ]+@([a-z0-9_\x2Däöüß]+\.)+[a-z]{2,}$'),
|
||||
comment TEXT DEFAULT NULL,
|
||||
|
||||
CONSTRAINT pk_member_email_address PRIMARY KEY (mgnr, nr),
|
||||
CONSTRAINT fk_member_email_address_member FOREIGN KEY (mgnr) REFERENCES member (mgnr)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE area_commitment (
|
||||
fbnr INTEGER NOT NULL,
|
||||
mgnr INTEGER NOT NULL,
|
||||
@ -756,4 +768,4 @@ CREATE TABLE credit (
|
||||
CONSTRAINT fk_credit_payment_member FOREIGN KEY (year, avnr, mgnr) REFERENCES payment_member (year, avnr, mgnr)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE RESTRICT
|
||||
);
|
||||
) STRICT;
|
||||
|
Reference in New Issue
Block a user