Complete Phase 1: MVC, DB migrations, Auth, RBAC, Security, and Views
This commit is contained in:
32
database/migrations/004_create_contacts_and_crm.sql
Normal file
32
database/migrations/004_create_contacts_and_crm.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
CREATE TABLE contacts (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
organization_id BIGINT UNSIGNED NULL,
|
||||
first_name VARCHAR(150) NOT NULL,
|
||||
last_name VARCHAR(150) NOT NULL,
|
||||
email VARCHAR(255) NULL,
|
||||
phone VARCHAR(50) NULL,
|
||||
title VARCHAR(150) NULL,
|
||||
linkedin_url VARCHAR(2048) NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP NULL,
|
||||
FOREIGN KEY (organization_id) REFERENCES organizations(id) ON DELETE SET NULL,
|
||||
INDEX idx_contacts_email (email)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE crm_activities (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
organization_id BIGINT UNSIGNED NOT NULL,
|
||||
contact_id BIGINT UNSIGNED NULL,
|
||||
type VARCHAR(50) NOT NULL, -- 'meeting', 'email', 'note', 'follow_up'
|
||||
details TEXT NOT NULL,
|
||||
scheduled_at TIMESTAMP NULL,
|
||||
completed_at TIMESTAMP NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP NULL,
|
||||
FOREIGN KEY (organization_id) REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (contact_id) REFERENCES contacts(id) ON DELETE SET NULL,
|
||||
INDEX idx_crm_act_type (type),
|
||||
INDEX idx_crm_act_org (organization_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user