53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
// Debug script to isolate tenant validation issue
|
|
const { Sequelize } = require('sequelize');
|
|
const path = require('path');
|
|
|
|
async function debugTenant() {
|
|
try {
|
|
console.log('Setting up database...');
|
|
const sequelize = new Sequelize({
|
|
dialect: 'sqlite',
|
|
storage: ':memory:',
|
|
logging: console.log
|
|
});
|
|
|
|
// Load models
|
|
const modelsPath = path.join(__dirname, '..', 'models');
|
|
const Tenant = require(path.join(modelsPath, 'Tenant.js'))(sequelize);
|
|
|
|
// Sync database
|
|
await sequelize.sync({ force: true });
|
|
|
|
console.log('Attempting to create tenant...');
|
|
const tenant = await Tenant.create({
|
|
name: 'Debug Tenant',
|
|
slug: 'debug-tenant-' + Date.now(),
|
|
domain: 'debug.example.com',
|
|
is_active: true
|
|
});
|
|
|
|
console.log('✅ Tenant created successfully:', tenant.id);
|
|
|
|
} catch (error) {
|
|
console.log('❌ Error creating tenant:');
|
|
console.log('Error name:', error.name);
|
|
console.log('Error message:', error.message);
|
|
console.log('Error details:', error);
|
|
|
|
if (error.errors) {
|
|
console.log('Validation errors:');
|
|
error.errors.forEach(err => {
|
|
console.log(` - ${err.path}: ${err.message}`);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
debugTenant().then(() => {
|
|
console.log('Debug complete');
|
|
process.exit(0);
|
|
}).catch(err => {
|
|
console.error('Debug script failed:', err);
|
|
process.exit(1);
|
|
});
|