-- Подписки пользователей на офлайн-доступ к формам CREATE TABLE IF NOT EXISTS user_offline_subscriptions ( id SERIAL PRIMARY KEY, organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, form_id INTEGER NOT NULL REFERENCES forms(id) ON DELETE CASCADE, is_active BOOLEAN NOT NULL DEFAULT TRUE, include_related_tasks BOOLEAN NOT NULL DEFAULT TRUE, include_files BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMP NOT NULL DEFAULT NOW(), updated_at TIMESTAMP NOT NULL DEFAULT NOW(), UNIQUE (user_id, form_id) ); CREATE INDEX IF NOT EXISTS user_offline_subscriptions_user_idx ON user_offline_subscriptions (user_id); CREATE INDEX IF NOT EXISTS user_offline_subscriptions_form_idx ON user_offline_subscriptions (form_id); CREATE INDEX IF NOT EXISTS user_offline_subscriptions_org_idx ON user_offline_subscriptions (organization_id);