65 lines
3.2 KiB
SQL
65 lines
3.2 KiB
SQL
TRUNCATE TABLE activities CASCADE;
|
||
TRUNCATE TABLE contacts CASCADE;
|
||
TRUNCATE TABLE deals CASCADE;
|
||
TRUNCATE TABLE organization_members CASCADE;
|
||
TRUNCATE TABLE organizations CASCADE;
|
||
TRUNCATE TABLE tasks CASCADE;
|
||
TRUNCATE TABLE users CASCADE;
|
||
|
||
-- Пользователи
|
||
INSERT INTO users (id, email, hashed_password, name, is_active, created_at)
|
||
VALUES
|
||
(1, 'owner@example.com', 'pbkdf2_sha256$260000$demo$Tk5YEtPJj6..', 'Alice Owner', TRUE, now()),
|
||
(2, 'manager@example.com', 'pbkdf2_sha256$260000$demo$Tk5YEtPJj6..', 'Bob Manager', TRUE, now()),
|
||
(3, 'member@example.com', 'pbkdf2_sha256$260000$demo$Tk5YEtPJj6..', 'Carol Member', TRUE, now());
|
||
|
||
-- Организации
|
||
INSERT INTO organizations (id, name, created_at)
|
||
VALUES
|
||
(1, 'Acme Corp', now()),
|
||
(2, 'Beta LLC', now());
|
||
|
||
-- Участники организаций
|
||
INSERT INTO organization_members (id, organization_id, user_id, role, created_at)
|
||
VALUES
|
||
(1, 1, 1, 'owner', now()),
|
||
(2, 1, 2, 'manager', now()),
|
||
(3, 1, 3, 'member', now()),
|
||
(4, 2, 2, 'owner', now());
|
||
|
||
-- Контакты (в рамках орг. 1)
|
||
INSERT INTO contacts (id, organization_id, owner_id, name, email, phone, created_at)
|
||
VALUES
|
||
(1, 1, 2, 'John Doe', 'john.doe@acme.com', '+1-202-555-0101', now()),
|
||
(2, 1, 3, 'Jane Smith', 'jane.smith@acme.com', '+1-202-555-0102', now());
|
||
|
||
-- Сделки
|
||
INSERT INTO deals (
|
||
id, organization_id, contact_id, owner_id, title, amount, currency,
|
||
status, stage, created_at, updated_at
|
||
) VALUES
|
||
(1, 1, 1, 2, 'Website Redesign', 15000.00, 'USD', 'in_progress', 'proposal', now(), now()),
|
||
(2, 1, 2, 3, 'Support Contract', 5000.00, 'USD', 'new', 'qualification', now(), now());
|
||
|
||
-- Задачи
|
||
INSERT INTO tasks (
|
||
id, deal_id, title, description, due_date, is_done, created_at
|
||
) VALUES
|
||
(1, 1, 'Prepare proposal', 'Draft technical scope', now() + interval '5 days', FALSE, now()),
|
||
(2, 2, 'Call client', 'Discuss onboarding plan', now() + interval '3 days', FALSE, now());
|
||
|
||
-- Активности
|
||
INSERT INTO activities (
|
||
id, deal_id, author_id, type, payload, created_at
|
||
) VALUES
|
||
(1, 1, 2, 'comment', '{"text": "Kickoff meeting scheduled"}', now()),
|
||
(2, 1, 2, 'status_changed', '{"old_status": "new", "new_status": "in_progress"}', now()),
|
||
(3, 2, 3, 'task_created', '{"task_id": 2, "title": "Call client"}', now());
|
||
|
||
SELECT setval('users_id_seq', COALESCE((SELECT MAX(id) FROM users), 0), (SELECT MAX(id) FROM users) IS NOT NULL);
|
||
SELECT setval('organizations_id_seq', COALESCE((SELECT MAX(id) FROM organizations), 0), (SELECT MAX(id) FROM organizations) IS NOT NULL);
|
||
SELECT setval('organization_members_id_seq', COALESCE((SELECT MAX(id) FROM organization_members), 0), (SELECT MAX(id) FROM organization_members) IS NOT NULL);
|
||
SELECT setval('contacts_id_seq', COALESCE((SELECT MAX(id) FROM contacts), 0), (SELECT MAX(id) FROM contacts) IS NOT NULL);
|
||
SELECT setval('deals_id_seq', COALESCE((SELECT MAX(id) FROM deals), 0), (SELECT MAX(id) FROM deals) IS NOT NULL);
|
||
SELECT setval('tasks_id_seq', COALESCE((SELECT MAX(id) FROM tasks), 0), (SELECT MAX(id) FROM tasks) IS NOT NULL);
|
||
SELECT setval('activities_id_seq', COALESCE((SELECT MAX(id) FROM activities), 0), (SELECT MAX(id) FROM activities) IS NOT NULL); |