обновление от 2025-09-24 для ветки 24sepTest
This commit is contained in:
60
migrate-colliders.js
Normal file
60
migrate-colliders.js
Normal file
@@ -0,0 +1,60 @@
|
||||
// Скрипт для выполнения миграции таблицы colliders
|
||||
// Файл: migrate-colliders.js
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { query } = require('./db');
|
||||
|
||||
async function runMigration() {
|
||||
try {
|
||||
console.log('🚀 Запуск миграции для создания таблицы colliders...');
|
||||
|
||||
// Читаем SQL файл миграции
|
||||
const migrationPath = path.join(__dirname, 'migrations', 'create_colliders_table.sql');
|
||||
const migrationSQL = fs.readFileSync(migrationPath, 'utf8');
|
||||
|
||||
// Выполняем миграцию
|
||||
await query(migrationSQL);
|
||||
|
||||
console.log('✅ Миграция успешно выполнена!');
|
||||
console.log('📊 Таблица colliders создана');
|
||||
|
||||
// Проверяем, что таблица создана
|
||||
const result = await query(`
|
||||
SELECT column_name, data_type, is_nullable
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'colliders'
|
||||
ORDER BY ordinal_position
|
||||
`);
|
||||
|
||||
console.log('📋 Структура таблицы colliders:');
|
||||
result.rows.forEach(row => {
|
||||
console.log(` - ${row.column_name}: ${row.data_type} (${row.is_nullable === 'YES' ? 'nullable' : 'not null'})`);
|
||||
});
|
||||
|
||||
// Проверяем индексы
|
||||
const indexes = await query(`
|
||||
SELECT indexname, indexdef
|
||||
FROM pg_indexes
|
||||
WHERE tablename = 'colliders'
|
||||
`);
|
||||
|
||||
console.log('🔍 Индексы:');
|
||||
indexes.rows.forEach(row => {
|
||||
console.log(` - ${row.indexname}`);
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Ошибка при выполнении миграции:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Запускаем миграцию
|
||||
runMigration().then(() => {
|
||||
console.log('🎉 Миграция завершена успешно!');
|
||||
process.exit(0);
|
||||
}).catch(error => {
|
||||
console.error('💥 Критическая ошибка:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user