52 lines
2.2 KiB
JavaScript
52 lines
2.2 KiB
JavaScript
// init-doc-tables.js - Инициализация таблиц для документов
|
||
module.exports = function initDocTables(db) {
|
||
console.log('🔧 Инициализация таблиц для документов...');
|
||
|
||
// Создание таблицы типов документов
|
||
db.run(`
|
||
CREATE TABLE IF NOT EXISTS document_types (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
name TEXT NOT NULL,
|
||
description TEXT,
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
)
|
||
`);
|
||
|
||
// Создание таблицы документов
|
||
db.run(`
|
||
CREATE TABLE IF NOT EXISTS documents (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
task_id INTEGER NOT NULL,
|
||
document_type_id INTEGER,
|
||
document_number TEXT,
|
||
document_date DATE,
|
||
pages_count INTEGER,
|
||
urgency_level TEXT DEFAULT 'normal',
|
||
comment TEXT,
|
||
refusal_reason TEXT,
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE,
|
||
FOREIGN KEY (document_type_id) REFERENCES document_types(id)
|
||
)
|
||
`);
|
||
|
||
// Добавляем тестовые типы документов
|
||
const docTypes = [
|
||
['Приказ', 'Распорядительный документ'],
|
||
['Распоряжение', 'Распорядительный документ'],
|
||
['Письмо', 'Деловое письмо'],
|
||
['Служебная записка', 'Внутренний документ'],
|
||
['Договор', 'Юридический документ'],
|
||
['Акт', 'Документ о выполнении работ'],
|
||
['Протокол', 'Документ о проведении собрания']
|
||
];
|
||
|
||
docTypes.forEach(([name, description]) => {
|
||
db.run(
|
||
"INSERT OR IGNORE INTO document_types (name, description) VALUES (?, ?)",
|
||
[name, description]
|
||
);
|
||
});
|
||
|
||
console.log('✅ Таблицы для документов инициализированы');
|
||
}; |