fix: adiciona migracao automatica das chaves antigas de IA para a tabela configuracoes_ia
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 2m15s
Details
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 2m15s
Details
This commit is contained in:
parent
eb70433ae1
commit
27deac70c7
|
|
@ -72,25 +72,75 @@ export async function getSchoolData() {
|
|||
'SELECT data FROM school_data WHERE id = 1'
|
||||
);
|
||||
const data = rows[0]?.data || {};
|
||||
const legacyAiConfig = data.aiConfig || {};
|
||||
|
||||
try {
|
||||
const aiRes = await pool.query('SELECT * FROM configuracoes_ia WHERE id = 1');
|
||||
if (aiRes.rows[0]) {
|
||||
const dbConfig = aiRes.rows[0];
|
||||
|
||||
const geminiKey = dbConfig.gemini_key || legacyAiConfig.geminiKey || '';
|
||||
const openaiKey = dbConfig.openai_key || legacyAiConfig.openaiKey || '';
|
||||
const claudeKey = dbConfig.claude_key || legacyAiConfig.claudeKey || '';
|
||||
const openrouterKey = dbConfig.openrouter_key || legacyAiConfig.openrouterKey || '';
|
||||
|
||||
data.aiConfig = {
|
||||
activeProvider: dbConfig.active_provider,
|
||||
geminiKey: dbConfig.gemini_key || '',
|
||||
openaiKey: dbConfig.openai_key || '',
|
||||
claudeKey: dbConfig.claude_key || '',
|
||||
openrouterKey: dbConfig.openrouter_key || '',
|
||||
geminiModel: dbConfig.gemini_model || 'gemini-1.5-flash',
|
||||
openaiModel: dbConfig.openai_model || 'gpt-4o-mini',
|
||||
claudeModel: dbConfig.claude_model || 'claude-3-5-sonnet-20241022',
|
||||
openrouterModel: dbConfig.openrouter_model || 'google/gemini-2.5-flash',
|
||||
activeImageProvider: dbConfig.active_image_provider || 'gemini',
|
||||
openaiImageModel: dbConfig.openai_image_model || 'dall-e-3',
|
||||
geminiImageModel: dbConfig.gemini_image_model || 'imagen-3.0-generate-002'
|
||||
activeProvider: dbConfig.active_provider || legacyAiConfig.activeProvider || 'gemini',
|
||||
geminiKey,
|
||||
openaiKey,
|
||||
claudeKey,
|
||||
openrouterKey,
|
||||
geminiModel: dbConfig.gemini_model || legacyAiConfig.geminiModel || 'gemini-1.5-flash',
|
||||
openaiModel: dbConfig.openai_model || legacyAiConfig.openaiModel || 'gpt-4o-mini',
|
||||
claudeModel: dbConfig.claude_model || legacyAiConfig.claudeModel || 'claude-3-5-sonnet-20241022',
|
||||
openrouterModel: dbConfig.openrouter_model || legacyAiConfig.openrouterModel || 'google/gemini-2.5-flash',
|
||||
activeImageProvider: dbConfig.active_image_provider || legacyAiConfig.activeImageProvider || 'gemini',
|
||||
openaiImageModel: dbConfig.openai_image_model || legacyAiConfig.openaiImageModel || 'dall-e-3',
|
||||
geminiImageModel: dbConfig.gemini_image_model || legacyAiConfig.geminiImageModel || 'gemini-2.5-flash-image'
|
||||
};
|
||||
|
||||
const precisaMigrar =
|
||||
(legacyAiConfig.geminiKey && !dbConfig.gemini_key) ||
|
||||
(legacyAiConfig.openaiKey && !dbConfig.openai_key) ||
|
||||
(legacyAiConfig.claudeKey && !dbConfig.claude_key) ||
|
||||
(legacyAiConfig.openrouterKey && !dbConfig.openrouter_key);
|
||||
|
||||
if (precisaMigrar) {
|
||||
console.log('[Database:Migration] Migrando chaves de IA do JSON legado para a nova tabela configuracoes_ia...');
|
||||
pool.query(
|
||||
`UPDATE configuracoes_ia SET
|
||||
active_provider = $1,
|
||||
gemini_key = $2,
|
||||
openai_key = $3,
|
||||
claude_key = $4,
|
||||
openrouter_key = $5,
|
||||
gemini_model = $6,
|
||||
openai_model = $7,
|
||||
claude_model = $8,
|
||||
openrouter_model = $9,
|
||||
active_image_provider = $10,
|
||||
openai_image_model = $11,
|
||||
gemini_image_model = $12,
|
||||
updated_at = NOW()
|
||||
WHERE id = 1`,
|
||||
[
|
||||
data.aiConfig.activeProvider,
|
||||
data.aiConfig.geminiKey,
|
||||
data.aiConfig.openaiKey,
|
||||
data.aiConfig.claudeKey,
|
||||
data.aiConfig.openrouterKey,
|
||||
data.aiConfig.geminiModel,
|
||||
data.aiConfig.openaiModel,
|
||||
data.aiConfig.claudeModel,
|
||||
data.aiConfig.openrouterModel,
|
||||
data.aiConfig.activeImageProvider,
|
||||
data.aiConfig.openaiImageModel,
|
||||
data.aiConfig.geminiImageModel
|
||||
]
|
||||
).catch(err => {
|
||||
console.error('[Database:Migration] Erro ao migrar chaves de IA:', err.message);
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('[Database] Erro ao mesclar configuracoes_ia no school_data:', err.message);
|
||||
|
|
|
|||
Loading…
Reference in New Issue