50 lines
1.7 KiB
SQL
50 lines
1.7 KiB
SQL
-- Align help-center tables with current GoChat/Chatwoot frontend model fields.
|
|
|
|
ALTER TABLE categories
|
|
ADD COLUMN IF NOT EXISTS account_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS parent_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS associated_category_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS custom_attributes JSONB DEFAULT '{}';
|
|
|
|
UPDATE categories c
|
|
SET account_id = p.account_id
|
|
FROM portals p
|
|
WHERE c.portal_id = p.id AND c.account_id IS NULL;
|
|
|
|
ALTER TABLE categories
|
|
ALTER COLUMN account_id SET NOT NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_categories_account_id
|
|
ON categories(account_id)
|
|
WHERE deleted_at IS NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_categories_parent_id
|
|
ON categories(parent_id)
|
|
WHERE deleted_at IS NULL AND parent_id IS NOT NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_categories_associated_category_id
|
|
ON categories(associated_category_id)
|
|
WHERE deleted_at IS NULL AND associated_category_id IS NOT NULL;
|
|
|
|
ALTER TABLE folders
|
|
ADD COLUMN IF NOT EXISTS account_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS category_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS parent_id INTEGER,
|
|
ADD COLUMN IF NOT EXISTS custom_attributes JSONB DEFAULT '{}';
|
|
|
|
UPDATE folders f
|
|
SET account_id = p.account_id
|
|
FROM portals p
|
|
WHERE f.portal_id = p.id AND f.account_id IS NULL;
|
|
|
|
ALTER TABLE folders
|
|
ALTER COLUMN account_id SET NOT NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_folders_account_id
|
|
ON folders(account_id)
|
|
WHERE deleted_at IS NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_folders_category_id
|
|
ON folders(category_id)
|
|
WHERE deleted_at IS NULL AND category_id IS NOT NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_folders_parent_id
|
|
ON folders(parent_id)
|
|
WHERE deleted_at IS NULL AND parent_id IS NOT NULL;
|