28 lines
1.0 KiB
SQL
28 lines
1.0 KiB
SQL
CREATE TABLE IF NOT EXISTS companies (
|
|
id SERIAL PRIMARY KEY,
|
|
account_id INTEGER NOT NULL,
|
|
name VARCHAR(255) NOT NULL,
|
|
description TEXT DEFAULT '',
|
|
website_url VARCHAR(512),
|
|
favicon_url VARCHAR(512),
|
|
domain VARCHAR(255),
|
|
last_activity_at TIMESTAMPTZ,
|
|
additional_attributes JSONB DEFAULT '{}',
|
|
custom_attributes JSONB DEFAULT '{}',
|
|
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_companies_account_id ON companies(account_id);
|
|
CREATE INDEX IF NOT EXISTS idx_companies_name ON companies(account_id, name);
|
|
CREATE INDEX IF NOT EXISTS idx_companies_domain ON companies(account_id, domain);
|
|
|
|
CREATE TABLE IF NOT EXISTS company_contacts (
|
|
company_id INTEGER NOT NULL,
|
|
contact_id INTEGER NOT NULL,
|
|
PRIMARY KEY (company_id, contact_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_company_contacts_company_id ON company_contacts(company_id);
|
|
CREATE INDEX IF NOT EXISTS idx_company_contacts_contact_id ON company_contacts(contact_id);
|