Refactor database configuration and user management

- Updated .env.example to consolidate SQL Server credentials under PANEL_MSSQL_* variables.
- Removed deprecated docker-compose.postgres.yml file.
- Adjusted docker-compose.yml to utilize new SQL Server credential structure.
- Enhanced README.md with Docker build and push instructions.
- Refined database schema in schema.sql to align with new user and permission structures.
- Updated init-database.js to reflect changes in user and session table names.
- Modified user management functions in users.ts to accommodate new database schema.
- Streamlined API routes to utilize PostgreSQL for user and database management.
- Improved error handling and logging in various server routes.
This commit is contained in:
2026-04-14 14:16:11 -05:00
parent 97b67afb25
commit 0bf9c9e68d
18 changed files with 1004 additions and 748 deletions

View File

@@ -41,17 +41,21 @@ async function initDatabase() {
// Verificar las tablas creadas
console.log('4. Verificando tablas creadas...');
const result = await client.query(`
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name IN ('usuarios', 'usuario_base_datos', 'sesiones')
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'a24c'
AND table_name IN (
'dashboard_users',
'dashboard_user_database_permissions',
'dashboard_sessions'
)
ORDER BY table_name;
`);
if (result.rows.length === 3) {
console.log(' ✓ Tablas verificadas:');
console.log(' ✓ Tablas verificadas (esquema a24c):');
result.rows.forEach(row => {
console.log(` - ${row.table_name}`);
console.log(` - a24c.${row.table_name}`);
});
} else {
console.log(' ⚠ No todas las tablas fueron creadas');
@@ -59,13 +63,16 @@ async function initDatabase() {
// Verificar usuario admin
console.log('\n5. Verificando usuario admin...');
const userResult = await client.query('SELECT username, email, es_admin FROM usuarios WHERE username = $1', ['admin']);
const userResult = await client.query(
'SELECT username, email, is_admin FROM a24c.dashboard_users WHERE username = $1',
['admin']
);
if (userResult.rows.length > 0) {
console.log(' ✓ Usuario admin creado:');
console.log(` - Username: ${userResult.rows[0].username}`);
console.log(` - Email: ${userResult.rows[0].email}`);
console.log(` - Es Admin: ${userResult.rows[0].es_admin}`);
console.log(` - Es Admin: ${userResult.rows[0].is_admin}`);
} else {
console.log(' ⚠ Usuario admin no encontrado');
}
@@ -79,7 +86,7 @@ async function initDatabase() {
console.log('1. Ejecuta: node scripts/generate-password-hash.js');
console.log('2. Copia el hash generado');
console.log('3. Ejecuta este SQL en PostgreSQL:');
console.log(' UPDATE usuarios SET password_hash = \'TU_HASH_AQUI\' WHERE username = \'admin\';');
console.log(' UPDATE a24c.dashboard_users SET password_hash = \'TU_HASH_AQUI\' WHERE username = \'admin\';');
console.log('\n4. Luego inicia el servidor: npm run dev');
console.log('5. Ve a: http://localhost:5173/login');
console.log(' Usuario: admin');