123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- CREATE TABLE users (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- created_at TIMESTAMP NOT NULL,
- updated_at TIMESTAMP NOT NULL,
- email VARCHAR(255) 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 NOT NULL DEFAULT 0,
- client_kdf_iter INTEGER NOT NULL DEFAULT 100000
- );
- CREATE TABLE devices (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- created_at TIMESTAMP NOT NULL,
- updated_at TIMESTAMP NOT NULL,
- user_uuid CHAR(36) NOT NULL REFERENCES users (uuid),
- name TEXT NOT NULL,
- atype INTEGER NOT NULL,
- push_token TEXT,
- refresh_token TEXT NOT NULL,
- twofactor_remember TEXT
- );
- CREATE TABLE organizations (
- uuid VARCHAR(40) NOT NULL PRIMARY KEY,
- name TEXT NOT NULL,
- billing_email TEXT NOT NULL
- );
- CREATE TABLE ciphers (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- created_at TIMESTAMP NOT NULL,
- updated_at TIMESTAMP NOT NULL,
- user_uuid CHAR(36) REFERENCES users (uuid),
- organization_uuid CHAR(36) REFERENCES organizations (uuid),
- atype INTEGER NOT NULL,
- name TEXT NOT NULL,
- notes TEXT,
- fields TEXT,
- data TEXT NOT NULL,
- favorite BOOLEAN NOT NULL,
- password_history TEXT
- );
- CREATE TABLE attachments (
- id CHAR(36) NOT NULL PRIMARY KEY,
- cipher_uuid CHAR(36) NOT NULL REFERENCES ciphers (uuid),
- file_name TEXT NOT NULL,
- file_size INTEGER NOT NULL,
- akey TEXT
- );
- CREATE TABLE folders (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- created_at TIMESTAMP NOT NULL,
- updated_at TIMESTAMP NOT NULL,
- user_uuid CHAR(36) NOT NULL REFERENCES users (uuid),
- name TEXT NOT NULL
- );
- CREATE TABLE collections (
- uuid VARCHAR(40) NOT NULL PRIMARY KEY,
- org_uuid VARCHAR(40) NOT NULL REFERENCES organizations (uuid),
- name TEXT NOT NULL
- );
- CREATE TABLE users_collections (
- user_uuid CHAR(36) NOT NULL REFERENCES users (uuid),
- collection_uuid CHAR(36) NOT NULL REFERENCES collections (uuid),
- read_only BOOLEAN NOT NULL DEFAULT false,
- PRIMARY KEY (user_uuid, collection_uuid)
- );
- CREATE TABLE users_organizations (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- user_uuid CHAR(36) NOT NULL REFERENCES users (uuid),
- org_uuid CHAR(36) NOT NULL REFERENCES organizations (uuid),
- access_all BOOLEAN NOT NULL,
- akey TEXT NOT NULL,
- status INTEGER NOT NULL,
- atype INTEGER NOT NULL,
- UNIQUE (user_uuid, org_uuid)
- );
- CREATE TABLE folders_ciphers (
- cipher_uuid CHAR(36) NOT NULL REFERENCES ciphers (uuid),
- folder_uuid CHAR(36) NOT NULL REFERENCES folders (uuid),
- PRIMARY KEY (cipher_uuid, folder_uuid)
- );
- CREATE TABLE ciphers_collections (
- cipher_uuid CHAR(36) NOT NULL REFERENCES ciphers (uuid),
- collection_uuid CHAR(36) NOT NULL REFERENCES collections (uuid),
- PRIMARY KEY (cipher_uuid, collection_uuid)
- );
- CREATE TABLE twofactor (
- uuid CHAR(36) NOT NULL PRIMARY KEY,
- user_uuid CHAR(36) NOT NULL REFERENCES users (uuid),
- atype INTEGER NOT NULL,
- enabled BOOLEAN NOT NULL,
- data TEXT NOT NULL,
- UNIQUE (user_uuid, atype)
- );
- CREATE TABLE invitations (
- email VARCHAR(255) NOT NULL PRIMARY KEY
- );
|