Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Amministrazione Joomla!
  3. Come gestite l'allineamento di database dopo l'upgrade di un sito?

Come gestite l'allineamento di database dopo l'upgrade di un sito?

Pianificato Fissato Bloccato Spostato Amministrazione Joomla!
23 Post 7 Autori 243 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • jabbaJ Non in linea
    jabbaJ Non in linea
    jabba
    scritto su ultima modifica di jabba
    #14

    Questo è ottimo per gli articoli vecchi che sono stati aggiornati, bisogna vedere se quelli invece aggiunti (anche dicendogli di mantenere l'ID) vengono inseriti con l'ID originale o con l'ID generato dall'auto-increment di MySQL...
    farò qualche prova, grazie 🙂

    Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

    1 Risposta Ultima Risposta
    0
    • elmirE Non in linea
      elmirE Non in linea
      elmir
      scritto su ultima modifica di
      #15

      Penso proprio di sì ma non l'ho mai provato, ho solo spostato gli articoli da un sito all'altro.

      Web e Tecnologia. le mie passioni - elmirmustafic.it | elmweb.it

      1 Risposta Ultima Risposta
      0
      • AlanTA Non in linea
        AlanTA Non in linea
        AlanT
        scritto su ultima modifica di
        #16

        Sto seguendo questo thread perchè capisco benissimo il problema. Non ho una soluzione a portata di mano purtroppo e fare una migrazione di un sito che si aggiorna al ritmo di 5/10 articoli al giorno è una bella rogna. Quando ho dovuto fare una cosa simile ad uno dei miei siti ho lavorato per cercare di prepararmi tutti gli update possibili facendo vari test. Poi ho aspettato fine dicembre per avere un periodo in cui poter mettere offline il sito per 24/48 H e poter lavorare alla migrazione senza trovarmi con contenuti che si aggiornavano.

        Tutto questo solo per dire che non ti invidio...

        1 Risposta Ultima Risposta
        0
        • LucantropoL Non in linea
          LucantropoL Non in linea
          Luca Capponi
          risposto a jabba su ultima modifica di
          #17

          @jabba ha detto in Come gestite l'allineamento di database dopo l'upgrade di un sito?:

          Il problema è che il sito live è ancora un Joomla3 (non aggiornato diciamo), andrebbe aggiornato a Joomla5 anche il sito live temo

          Non ho mai controllato, ma i vari update da joomla 3 a 4 o 5, variano gli id di articoli e categorie o comunque la struttura delle tabelle?

          To be or not to be...

          1 Risposta Ultima Risposta
          0
          • AlanTA Non in linea
            AlanTA Non in linea
            AlanT
            scritto su ultima modifica di
            #18

            Ci sono alcune modifiche nella struttura delle tabelle, gli id restano uguali.
            Ad esempio J4 ha introdotto i workflows che non c'erano in J3 quindi se uno copia il db non si ritroverà direttamente gli articoli se prima non crea anche un reference con la tabella #__workflow_associations.

            Si può lanciare una query per correggere la tabella worflow ma come sempre sono cose che vanno fatte con molta cautela.

            Esempio con prefisso tabella 'jos' e per gli articoli con un id compreso tra 30 e 60.
            ATTENZIONE: non usate questo codice se non siete esperti. Fate sempre prima un backup.

            INSERT INTO jos_workflow_associations (`item_id`, `stage_id`, `extension`)
            SELECT `id`, 1, "com_content.article"
            FROM jos_content
            WHERE `id` > 29 AND `id` < 61;
            
            1 Risposta Ultima Risposta
            1
            • simbus82S Non in linea
              simbus82S Non in linea
              simbus82
              risposto a jabba su ultima modifica di
              #19

              @jabba noi facciamo qualcosa di simile al tuo punto 2:

              • Copia in staging con sottodominio dell'intero sito in un momento x (quindi il "vecchio" resta live) dopo aver concordato lo stop delle modifiche di "features" (quindi resta attivo solo ad es. il copywriting).
              • Lavorazione dello staging con traccia minuziosa degli step per "l'upgrade" (che appunto può richiedere giornate)
              • Concordare un cutoff delle lavorazioni sul sito sorgente anche lato copy (la giornata prima della migrazione che avver) ed eventuali blocchi con relativi avvisi se ci sono registrazioni, login ecc. per evitare disallineamente lato tabelle db.
              • Di notte (eh sì, tocca farlo) copia di nuovo dello staging, applicazione a raffica delle modifiche già tracciate (roba di una settimana si fa in un paio di ore se ben documentate, considerando che buona parte è tutta roba statica ci si fanno gli zip da sovrascrivere)
              • Pubblicazione (giocando con gli scambi di sottodomini)

              Più o meno così, in pratica non viene percepito nessun down, ma solo un "blocco in scrittura" per qualche ora. Dove si può, si mette anche in offline per sicurezza.

              Di meglio con Joomla è difficile fare, se non mettere in piedi svn, query di migrazione, ecc.

              🤠

              Digital Marketing & SEO Specialist
              Joomla! 3 Certified Administrator
              https://github.com/simbus82 - https://www.linkedin.com/in/simonebussoni/
              Famiglia, Amicizia, Scienza, Web, Cibo, Cinema, Tecnologia, Sport, Green, ProVax, ProNuke. What else?

              1 Risposta Ultima Risposta
              0
              • jabbaJ Non in linea
                jabbaJ Non in linea
                jabba
                scritto su ultima modifica di
                #20

                @simbus82 grazie per il feedback. A occhio sembra la soluzione più adatta anche a me, anche se implica veramente tenere traccia di ogni singola virgola fatta nel sito di test per replicarla accuratamente (e non avere effettivamente tempo di testare.. perchè puoi fare tutti i testi di funzionamento che vuoi ma effettivamente li fai in una copia che poi risulta "vecchia" e non in quella "ufficiale"). Speravo in un tool magico di "allineamento" tabelle ma capisco possa essere complesso da implementare e anche solo da ideare.
                Grazie

                Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

                simbus82S 1 Risposta Ultima Risposta
                0
                • simbus82S Non in linea
                  simbus82S Non in linea
                  simbus82
                  risposto a jabba su ultima modifica di
                  #21

                  @jabba Non nego che invidio l'essere monotabella di WP in questi casi 😂

                  Digital Marketing & SEO Specialist
                  Joomla! 3 Certified Administrator
                  https://github.com/simbus82 - https://www.linkedin.com/in/simonebussoni/
                  Famiglia, Amicizia, Scienza, Web, Cibo, Cinema, Tecnologia, Sport, Green, ProVax, ProNuke. What else?

                  jabbaJ 1 Risposta Ultima Risposta
                  0
                  • jabbaJ Non in linea
                    jabbaJ Non in linea
                    jabba
                    risposto a simbus82 su ultima modifica di
                    #22

                    @simbus82 ha detto in Come gestite l'allineamento di database dopo l'upgrade di un sito?:

                    @jabba Non nego che invidio l'essere monotabella di WP in questi casi 😂

                    A questo punto vado OT su MySQL... Esiste una query tipo "inserisci questo contenuto nella riga con questo ID solo se il contenuto è diverso"?

                    Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

                    simbus82S 1 Risposta Ultima Risposta
                    0
                    • simbus82S Non in linea
                      simbus82S Non in linea
                      simbus82
                      risposto a jabba su ultima modifica di
                      #23

                      @jabba Direi di sì...

                      Qualcosa tipo

                      UPDATE tabella
                      SET colonna = 'nuovo_valore'
                      WHERE id = 123 AND colonna != 'nuovo_valore';
                      

                      Poi ovviamente giochi con tutte le comparazioni che vuoi sul contenuto, tipo con regex...

                      Digital Marketing & SEO Specialist
                      Joomla! 3 Certified Administrator
                      https://github.com/simbus82 - https://www.linkedin.com/in/simonebussoni/
                      Famiglia, Amicizia, Scienza, Web, Cibo, Cinema, Tecnologia, Sport, Green, ProVax, ProNuke. What else?

                      1 Risposta Ultima Risposta
                      0

                      • Accedi

                      • Non hai un account? Registrati

                      • Accedi o registrati per effettuare la ricerca.
                      Powered by NodeBB Contributors
                      • Primo post
                        Ultimo post
                      0
                      • Categorie
                      • Recenti
                      • Tag
                      • Popolare
                      • Utenti
                      • Gruppi