Spiegel von
https://github.com/dani-garcia/vaultwarden.git
synchronisiert 2025-03-14 17:07:01 +01:00
281 Zeilen
8,3 KiB
MySQL
281 Zeilen
8,3 KiB
MySQL
![]() |
CREATE TABLE attachments (
|
||
|
id text NOT NULL PRIMARY KEY,
|
||
|
cipher_uuid character varying(40) NOT NULL,
|
||
|
file_name text NOT NULL,
|
||
|
file_size bigint NOT NULL,
|
||
|
akey text
|
||
|
);
|
||
|
|
||
|
CREATE TABLE auth_requests (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
user_uuid character(36) NOT NULL,
|
||
|
organization_uuid character(36),
|
||
|
request_device_identifier character(36) NOT NULL,
|
||
|
device_type integer NOT NULL,
|
||
|
request_ip text NOT NULL,
|
||
|
response_device_id character(36),
|
||
|
access_code text NOT NULL,
|
||
|
public_key text NOT NULL,
|
||
|
enc_key text,
|
||
|
master_password_hash text,
|
||
|
approved boolean,
|
||
|
creation_date timestamp without time zone NOT NULL,
|
||
|
response_date timestamp without time zone,
|
||
|
authentication_date timestamp without time zone
|
||
|
);
|
||
|
|
||
|
CREATE TABLE ciphers (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
created_at timestamp without time zone NOT NULL,
|
||
|
updated_at timestamp without time zone NOT NULL,
|
||
|
user_uuid character varying(40),
|
||
|
organization_uuid character varying(40),
|
||
|
atype integer NOT NULL,
|
||
|
name text NOT NULL,
|
||
|
notes text,
|
||
|
fields text,
|
||
|
data text NOT NULL,
|
||
|
password_history text,
|
||
|
deleted_at timestamp without time zone,
|
||
|
reprompt integer,
|
||
|
key text
|
||
|
);
|
||
|
|
||
|
CREATE TABLE ciphers_collections (
|
||
|
cipher_uuid character varying(40) NOT NULL,
|
||
|
collection_uuid character varying(40) NOT NULL,
|
||
|
PRIMARY KEY (cipher_uuid, collection_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE collections (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
org_uuid character varying(40) NOT NULL,
|
||
|
name text NOT NULL,
|
||
|
external_id text
|
||
|
);
|
||
|
|
||
|
CREATE TABLE collections_groups (
|
||
|
collections_uuid character varying(40) NOT NULL,
|
||
|
groups_uuid character(36) NOT NULL,
|
||
|
read_only boolean NOT NULL,
|
||
|
hide_passwords boolean NOT NULL,
|
||
|
PRIMARY KEY (collections_uuid, groups_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE devices (
|
||
|
uuid character varying(40) NOT NULL,
|
||
|
created_at timestamp without time zone NOT NULL,
|
||
|
updated_at timestamp without time zone NOT NULL,
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
name text NOT NULL,
|
||
|
atype integer NOT NULL,
|
||
|
push_token text,
|
||
|
refresh_token text NOT NULL,
|
||
|
twofactor_remember text,
|
||
|
push_uuid text,
|
||
|
PRIMARY KEY (uuid, user_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE emergency_access (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
grantor_uuid character(36),
|
||
|
grantee_uuid character(36),
|
||
|
email character varying(255),
|
||
|
key_encrypted text,
|
||
|
atype integer NOT NULL,
|
||
|
status integer NOT NULL,
|
||
|
wait_time_days integer NOT NULL,
|
||
|
recovery_initiated_at timestamp without time zone,
|
||
|
last_notification_at timestamp without time zone,
|
||
|
updated_at timestamp without time zone NOT NULL,
|
||
|
created_at timestamp without time zone NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE event (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
event_type integer NOT NULL,
|
||
|
user_uuid character(36),
|
||
|
org_uuid character(36),
|
||
|
cipher_uuid character(36),
|
||
|
collection_uuid character(36),
|
||
|
group_uuid character(36),
|
||
|
org_user_uuid character(36),
|
||
|
act_user_uuid character(36),
|
||
|
device_type integer,
|
||
|
ip_address text,
|
||
|
event_date timestamp without time zone NOT NULL,
|
||
|
policy_uuid character(36),
|
||
|
provider_uuid character(36),
|
||
|
provider_user_uuid character(36),
|
||
|
provider_org_uuid character(36)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE favorites (
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
cipher_uuid character varying(40) NOT NULL,
|
||
|
PRIMARY KEY (user_uuid, cipher_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE folders (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
created_at timestamp without time zone NOT NULL,
|
||
|
updated_at timestamp without time zone NOT NULL,
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
name text NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE folders_ciphers (
|
||
|
cipher_uuid character varying(40) NOT NULL,
|
||
|
folder_uuid character varying(40) NOT NULL,
|
||
|
PRIMARY KEY (cipher_uuid, folder_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE groups (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
organizations_uuid character varying(40) NOT NULL,
|
||
|
name character varying(100) NOT NULL,
|
||
|
access_all boolean NOT NULL,
|
||
|
external_id character varying(300),
|
||
|
creation_date timestamp without time zone NOT NULL,
|
||
|
revision_date timestamp without time zone NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE groups_users (
|
||
|
groups_uuid character(36) NOT NULL,
|
||
|
users_organizations_uuid character varying(36) NOT NULL,
|
||
|
PRIMARY KEY (groups_uuid, users_organizations_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE invitations (
|
||
|
email text NOT NULL PRIMARY KEY
|
||
|
);
|
||
|
|
||
|
CREATE TABLE org_policies (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
org_uuid character(36) NOT NULL,
|
||
|
atype integer NOT NULL,
|
||
|
enabled boolean NOT NULL,
|
||
|
data text NOT NULL,
|
||
|
UNIQUE (org_uuid, atype)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE organization_api_key (
|
||
|
uuid character(36) NOT NULL,
|
||
|
org_uuid character(36) NOT NULL,
|
||
|
atype integer NOT NULL,
|
||
|
api_key character varying(255),
|
||
|
revision_date timestamp without time zone NOT NULL,
|
||
|
PRIMARY KEY (uuid, org_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE organizations (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
name text NOT NULL,
|
||
|
billing_email text NOT NULL,
|
||
|
private_key text,
|
||
|
public_key text
|
||
|
);
|
||
|
|
||
|
CREATE TABLE sends (
|
||
|
uuid character(36) NOT NULL PRIMARY KEY,
|
||
|
user_uuid character(36),
|
||
|
organization_uuid character(36),
|
||
|
name text NOT NULL,
|
||
|
notes text,
|
||
|
atype integer NOT NULL,
|
||
|
data text NOT NULL,
|
||
|
akey text NOT NULL,
|
||
|
password_hash bytea,
|
||
|
password_salt bytea,
|
||
|
password_iter integer,
|
||
|
max_access_count integer,
|
||
|
access_count integer NOT NULL,
|
||
|
creation_date timestamp without time zone NOT NULL,
|
||
|
revision_date timestamp without time zone NOT NULL,
|
||
|
expiration_date timestamp without time zone,
|
||
|
deletion_date timestamp without time zone NOT NULL,
|
||
|
disabled boolean NOT NULL,
|
||
|
hide_email boolean
|
||
|
);
|
||
|
|
||
|
CREATE TABLE twofactor (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
atype integer NOT NULL,
|
||
|
enabled boolean NOT NULL,
|
||
|
data text NOT NULL,
|
||
|
last_used bigint DEFAULT 0 NOT NULL,
|
||
|
UNIQUE (user_uuid, atype)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE twofactor_duo_ctx (
|
||
|
state character varying(64) NOT NULL PRIMARY KEY,
|
||
|
user_email character varying(255) NOT NULL,
|
||
|
nonce character varying(64) NOT NULL,
|
||
|
exp bigint NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE twofactor_incomplete (
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
device_uuid character varying(40) NOT NULL,
|
||
|
device_name text NOT NULL,
|
||
|
login_time timestamp without time zone NOT NULL,
|
||
|
ip_address text NOT NULL,
|
||
|
device_type integer DEFAULT 14 NOT NULL,
|
||
|
PRIMARY KEY (user_uuid, device_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE users (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
created_at timestamp without time zone NOT NULL,
|
||
|
updated_at timestamp without time zone NOT NULL,
|
||
|
email text NOT NULL UNIQUE,
|
||
|
name text NOT NULL,
|
||
|
password_hash bytea NOT NULL,
|
||
|
salt bytea NOT NULL,
|
||
|
password_iterations integer NOT NULL,
|
||
|
password_hint text,
|
||
|
akey text NOT NULL,
|
||
|
private_key text,
|
||
|
public_key text,
|
||
|
totp_secret text,
|
||
|
totp_recover text,
|
||
|
security_stamp text NOT NULL,
|
||
|
equivalent_domains text NOT NULL,
|
||
|
excluded_globals text NOT NULL,
|
||
|
client_kdf_type integer DEFAULT 0 NOT NULL,
|
||
|
client_kdf_iter integer DEFAULT 100000 NOT NULL,
|
||
|
verified_at timestamp without time zone,
|
||
|
last_verifying_at timestamp without time zone,
|
||
|
login_verify_count integer DEFAULT 0 NOT NULL,
|
||
|
email_new character varying(255) DEFAULT NULL::character varying,
|
||
|
email_new_token character varying(16) DEFAULT NULL::character varying,
|
||
|
enabled boolean DEFAULT true NOT NULL,
|
||
|
stamp_exception text,
|
||
|
api_key text,
|
||
|
avatar_color text,
|
||
|
client_kdf_memory integer,
|
||
|
client_kdf_parallelism integer,
|
||
|
external_id text
|
||
|
);
|
||
|
|
||
|
CREATE TABLE users_collections (
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
collection_uuid character varying(40) NOT NULL,
|
||
|
read_only boolean DEFAULT false NOT NULL,
|
||
|
hide_passwords boolean DEFAULT false NOT NULL,
|
||
|
PRIMARY KEY (user_uuid, collection_uuid)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE users_organizations (
|
||
|
uuid character varying(40) NOT NULL PRIMARY KEY,
|
||
|
user_uuid character varying(40) NOT NULL,
|
||
|
org_uuid character varying(40) NOT NULL,
|
||
|
access_all boolean NOT NULL,
|
||
|
akey text NOT NULL,
|
||
|
status integer NOT NULL,
|
||
|
atype integer NOT NULL,
|
||
|
reset_password_key text,
|
||
|
external_id text,
|
||
|
UNIQUE (user_uuid, org_uuid)
|
||
|
);
|