Weet wanneer gegevens moeten worden opgeslagen of verwijderd

Adobe raadt u aan eerst te bepalen of u deze gegevens moet opslaan. Als u gegevens verplaatst van een verouderd systeem, bespaart gegevens die u kunt verwijderen u tijd en moeite tijdens de migratie. (Er zijn manieren om gegevens te archiveren als het later moet worden betreden.) Om een goede beheerder van de toepassing en de prestaties te zijn, is het in orde om een verzoek uit te dagen om extra gegevens te bewaren. Uw doel is ervoor te zorgen dat het bewaren van de gegevens een vereiste is om een bedrijfsbehoefte te vervullen die niet een andere manier kan worden gevuld.

Oudere gegevens

Als uw project erfenisgegevens, zoals oude orden of klantenverslagen bevat, overweeg een alternatieve raadplegingsmethode. Bijvoorbeeld, als de zaken toegang tot de gegevens slechts voor occasionele verwijzing vereisen, overweeg uitvoerend een extern onderzoek van het oude gegevensbestand buiten het handelsplatform wordt ontvangen in plaats van migrerend oude gegevens aan Adobe Commerce.

Deze situatie zou vereisen dat de database naar een server wordt gemigreerd, waarbij een webinterface wordt aangeboden om de gegevens te lezen, of een training in het gebruik van MySQL Workbench of vergelijkbare tools. Als u deze gegevens niet in de nieuwe database opneemt, wordt de migratie versneld doordat het ontwikkelingsteam zich kan richten op de nieuwe site in plaats van problemen met de migratie van gegevens op te lossen.

Een andere verwante optie voor het houden van de gegevens extern aan handel maar het toestaan van u om het in echt te gebruiken - tijd zou andere hulpmiddelen, zoals het netwerk van GraphQL leveraging. Deze optie combineert verschillende gegevensbronnen en retourneert deze als één reactie.

U kunt bijvoorbeeld oude bestellingen van een externe database stitch samenvoegen, bijvoorbeeld de oude Magento 1-site die uit bedrijf is genomen. Dan gebruikend het net van GraphQL, toon hen als deel van de klantenorde geschiedenis. Deze oude bestellingen kunnen worden gecombineerd met de bestellingen uit uw huidige Adobe Commerce -omgeving.

Voor meer informatie over het gebruiken van API netwerk met GraphQL, zie wat API Netis ) en de Gateway van het Net van GraphQL.

Oudere gegevens migreren met extensiekenmerken

Als u bepaalt dat de erfenisgegevens migratie vereisen, of dat de nieuwe gegevens in Adobe Commerce moeten worden bewaard, adviseert de Adobe gebruikend uitbreidingsattributen. Het gebruik van extensiekenmerken voor het opslaan van aanvullende gegevens biedt de volgende voordelen:

  • U kunt de gegevens controleren die en de gegevensbestandstructuur worden voortgeduurd, die ervoor zorgt dat het gegeven met het correcte kolomtype en juiste indexen wordt bewaard.
  • De meeste entiteiten in Adobe Commerce ondersteunen het gebruik van extensiekenmerken.
  • Extensiekenmerken zijn een agnostisch opslagmechanisme dat de flexibiliteit biedt om de gegevens op te slaan op de optimale locatie voor uw project.

Twee voorbeelden van opslaglocaties zijn databasetabellen en Redis . Bij het kiezen van een locatie moet u rekening houden met de vraag of een locatie een extra complexiteit veroorzaakt of van invloed is op de prestaties.

Andere alternatieven overwegen

Als ontwikkelaar is het van essentieel belang om altijd te overwegen om gereedschappen te gebruiken buiten uw Adobe Commerce -omgeving, zoals GraphQL mesh en Adobe App Builder. Deze hulpmiddelen kunnen u helpen toegang tot de gegevens behouden maar hebben geen invloed op de kernhandelstoepassing of zijn onderliggende gegevensbestandlijsten. Met deze aanpak maakt u uw gegevens beschikbaar via een API. Vervolgens voegt u een gegevensbron toe aan uw App Builder-configuratie. Gebruikend het Net van GraphQL, kunt u die gegevensbronnen combineren en één enkele reactie produceren zoals vermeld in erfenisgegevens.

Voor extra details op het net van GraphQL, zie {de Gateway van het Net van 0} GraphQL 🔗 . Voor informatie over de Adobe App Builder, zie Introducerend App Builder.

Een kerntabel of tabel van derden wijzigen

Als u besluit om gegevens op te slaan door een kern Adobe Commerce - of derdesmodule databasetabel te wijzigen, moet u de volgende richtlijnen gebruiken om de invloed op de stabiliteit en prestaties te minimaliseren.

  • Alleen nieuwe kolommen toevoegen.
  • Wijzig nooit de type waarde van een bestaande kolom. Wijzig een integer bijvoorbeeld niet in een varchar om aan uw unieke gebruiksscenario te voldoen.
  • Voeg geen kolommen toe aan tabellen met EAV-kenmerken. Deze tabellen zijn al overbelast met logica en verantwoordelijkheid.
  • Bepaal de grootte van een tabel voordat u deze aanpast. Het veranderen van grote lijsten beïnvloedt de plaatsing, die notulen of uren van vertraging kan veroorzaken wanneer de veranderingen worden toegepast.

Aanbevolen procedures voor het wijzigen van een externe databasetabel

De Adobe raadt u aan deze stappen te volgen wanneer u een kolom toevoegt aan een kerndatabasetabel of een tabel van derden:

  1. Maak een module met een naam in de naamruimte die aangeeft wat u wilt bijwerken.

    Bijvoorbeeld: app/code/YourCompany/Customer

  2. Creeer de aangewezen dossiers om de module toe te laten (zie een modulecreëren.

  3. Maak een bestand met de naam db_schema.xml in de map etc en breng de gewenste wijzigingen aan.

    Maak, indien van toepassing, een db_schema_whitelist.json -bestand. Zie Verklarend Schemavoor meer informatie.