ваше сообщение коммита

This commit is contained in:
2025-04-15 22:37:58 +03:00
parent 9a93e7bbcb
commit 31189163af
3 changed files with 0 additions and 3485 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,77 +0,0 @@
// Скрипт для обновления таблицы verification_codes
const { Pool } = require('pg');
require('dotenv').config();
// Создаем подключение к базе данных
const pool = new Pool({
host: process.env.POSTGRES_HOST || 'localhost',
port: process.env.POSTGRES_PORT || 5432,
database: process.env.POSTGRES_DB || 'dapp_business',
user: process.env.POSTGRES_USER || 'postgres',
password: process.env.POSTGRES_PASSWORD || 'postgres',
});
async function updateVerificationTable() {
try {
console.log('Начинаем обновление таблицы verification_codes...');
// Проверяем, существует ли таблица
const checkTableResult = await pool.query(`
SELECT EXISTS (
SELECT FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name = 'verification_codes'
);
`);
const tableExists = checkTableResult.rows[0].exists;
if (!tableExists) {
console.log('Таблица verification_codes не существует. Пропускаем обновление.');
return;
}
// Проверяем, разрешает ли уже колонка null значения
const checkColumnResult = await pool.query(`
SELECT is_nullable
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'verification_codes'
AND column_name = 'user_id';
`);
if (checkColumnResult.rows.length > 0 && checkColumnResult.rows[0].is_nullable === 'YES') {
console.log('Колонка user_id уже разрешает NULL значения. Пропускаем обновление.');
return;
}
// Начинаем транзакцию
await pool.query('BEGIN');
// Изменяем ограничение для поля user_id
await pool.query(`
ALTER TABLE verification_codes
ALTER COLUMN user_id DROP NOT NULL;
`);
// Добавляем комментарий к колонке
await pool.query(`
COMMENT ON COLUMN verification_codes.user_id IS 'ID пользователя (может быть NULL для временных кодов)';
`);
// Фиксируем транзакцию
await pool.query('COMMIT');
console.log('Таблица verification_codes успешно обновлена!');
} catch (error) {
// Откатываем транзакцию в случае ошибки
await pool.query('ROLLBACK');
console.error('Ошибка при обновлении таблицы verification_codes:', error);
} finally {
// Закрываем соединение с базой данных
await pool.end();
}
}
// Выполняем обновление
updateVerificationTable();

File diff suppressed because it is too large Load Diff