soluzione odoo.define is not a function

soluzione odoo.define is not a function : questo problema si verifica spesso quando si effettua il restore di un database su un altro ambiente, il più delle volte è collegata anche al messaggio: could not get content for … defined in bundle ‘web.assets_backend’, etc…

Spesso riusciamo a raggiungere la schermata di login ma una volta effettuato il login sul db restored odoo si blocca e rimane vuota la finestra del browser.

Solo attivando la console del browser si può vedere qual è effettivamente il problema: odoo.define is not a function

E’ legato sia allo spostamento o mancanza del firestore sia alla memorizzazione dei file css nel db.

La soluzione può essere eseguire la query:

DELETE FROM ir_attachment WHERE url LIKE '/web/content/%';

In modo da far ricreare i collegamenti corretti.

In aggiunta possiamo eseguire anche:

DELETE FROM ir_attachment WHERE datas_fname SIMILAR TO ‘%.(js|css)’;
DELETE FROM ir_attachment WHERE name=’web_icon_data’;

e nel dubbio eliminare la cartella dati locale corrispondente (riferimento data_dir nel file odoo.conf)

Importantissimo riavviare il servizio odoo ed eseguire successivamente odoo in una finestra anonima o svuotare la cache del browser per vederne gli effetti.

Liberamente tradotto da questo articolo su stack overflow, per me ha funzionato!