-- 013_company_assets.sql -- 설계일자·도면 자산(로고·서명) 회사 공유 (2026-09-02 사용자 확정) -- -- ① 설계일자는 확정일 자동이 아니라 **사용자가 지정 입력**한다. -- ② 로고·서명은 **회사 안에서 공유하는 목록**으로 관리한다. 사용자 계정에 물릴 수도 있고 -- 아닐 수도 있다(회사 공용 직인 등). 회사 구성원과 회사 관리자가 작성·수정하고, -- 시스템 관리자는 전체 권한을 가진다. -- ③ 도면이 어느 로고·서명을 쓸지는 **프로젝트가 고른다** — 목록에서 골라 물린다. -- -- 011 의 `companies.logo_path`·`users.signature_path` 는 이 표가 정본이 되면서 읽지 않는다. -- 컬럼은 남겨 둔다(4환경 공유 DB 라 지우는 쪽이 위험하다). USE aislo_db; ALTER TABLE projects ADD COLUMN IF NOT EXISTS design_date DATE NULL COMMENT '설계일자 (사용자 지정)' AFTER work_amount, ADD COLUMN IF NOT EXISTS logo_asset_id INT NULL COMMENT '도면에 쓸 회사 로고 (company_assets.id)', ADD COLUMN IF NOT EXISTS signature_asset_id INT NULL COMMENT '도면에 쓸 서명 (company_assets.id)'; -- 회사 안에서 공유하는 도면 자산. 그림은 파일로 두고 경로만 담는다. CREATE TABLE IF NOT EXISTS company_assets ( id INT AUTO_INCREMENT PRIMARY KEY, company_id INT NOT NULL, kind ENUM('LOGO', 'SIGNATURE') NOT NULL, label VARCHAR(100) NOT NULL COMMENT '목록에 보이는 이름', file_path VARCHAR(500) NOT NULL COMMENT 'storage/ 기준 상대 경로', user_id INT NULL COMMENT '이 자산의 주인 (없으면 회사 공용)', created_by INT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL DEFAULT NULL, INDEX idx_company_assets_company (company_id, kind, deleted_at), INDEX idx_company_assets_user (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;