Inhalte aufrufen

Profilbild

Migration 2.6 zu 3.1.5 im Parallelbetrieb


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
5 Antworten zu diesem Thema

#1 damadi

damadi

    Advanced Member

  • Members
  • 53 Beiträge

Geschrieben: 29 August 2018 - 06:57

Hallo Smartstore-Team,

 

ich habe bereits einen laufenden Shop auf Version 2.6. Diesen würde ich gerne inhaltlich und in der gesamten Struktur überarbeiten.

 

1)

Wenn ich mir eine zweite Installation erstelle (z.B. shop2.meineseite.de) - kann ich diese nach Fertigstellung umbenennen?

D.h. alle eventuellen internen Referenzen, den DB-Namen, das Root-Verzeichnis? Wie wäre hier die korrekte Vorgehensweise?

Was gibt es zu beachten?

 

2)

Kann ich eine Kopie des 2.6er Shops erstellen, in shop2.meineseite.de umbenennen und dann updaten?

Wie verhält es sich in diesem Fall mit Default-Dialogen im Shop die bei der 3.1.5 evtl. angepasst wurden oder hinzukamen? Macht es aus diesem Grund evtl. Sinn bei Null zu beginnen? In diesem Fall das: kann ich zumindest die Bestell-History und die Produkte in den neuen Shop importieren?

 

Ich hatte in der 2.6er im Code recht viel angepasst und in der DB getrickst - das wird sich so in die 3.1.5er nicht übernehmen lassen. Zudem sollen alle Texte redaktionell überarbeitet werden. Daher werde ich um ein paar Monate Parallelbetrieb nicht umhin kommen.

Was für eine Vorgehensweise würdet ihr mir raten?

 

Danke und viele Grüße,

 

Markus

 

 



#2 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3317 Beiträge

Geschrieben: 29 August 2018 - 09:54

Am einfachsten wäre es die Datenbank zu kopieren, eine Neuinstallation von 3.1.5. zu machen und bei der Installation die Zugangsdaten der zuvor erstellten Datenbankkopie anzugeben. Beim ersten Shop-Start wird die Datenbankkopie dann auf 3.1.5 migriert.
 
Am besten zur Sicherheit Backups der Datenbanken anlegen, da nur vorwärts, aber nicht rückwärts migriert werden kann.

Schöne Grüße aus Düsseldorf,
Marcus Gesing


#3 damadi

damadi

    Advanced Member

  • Members
  • 53 Beiträge

Geschrieben: 31 August 2018 - 06:25

Hallo Herr Giesing,

 

vielen Dank für die Antwort. Bei dieser DB-Migration werden auch eventuelle interne Bezüge auf den alten Shop-Namen abgeändert? Oder gibt es das gar nicht?

Ich habe ja dann 2 Shops - "shop." und aus dem DB-Restore einen "shop2."

 

Wenn ich mit dem neuen Shop fertig bin, soll dieser natürlich wieder "shop." heissen. Ist das dann wieder die gleiche Vorgehensweise - also eine Migration von 3.1.5 auf 3.1.5 - oder benennt man den dann schlicht um und ändert den Connection String in der Web.config? letzteres glaube ich fast nicht... das wäre zu einfach ;)

 

Viele Grüße,

 

Markus



#4 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3317 Beiträge

Geschrieben: 31 August 2018 - 10:31

Was meinen Sie denn mit "interne Bezüge"? shop.xyz ist doch nur die Domain. Die lässt sich doch schnell unter Konfiguration > Shops ändern.
Den Connection-String zu ändern sollte ausreichen. Der befindet sich aber nicht in der Web.config, sondern in der Settings.txt.

Schöne Grüße aus Düsseldorf,
Marcus Gesing


#5 damadi

damadi

    Advanced Member

  • Members
  • 53 Beiträge

Geschrieben: 02 September 2018 - 07:07

Ich hätte vermutet, das der shopname in der DB irgendwo tiefer verankert ist.

 

Ich habe die DB und das Verz. des alten Shops kopiert und alle Verz. ausser app_data und media gelöscht und im IIS als neue Webseite eingerichtet.

Beim ersten Aufruf kommt der Installationswizard. Ich habe hier dann die DB-Kopie angegeben. Folgende Fehlermeldung erhalte ich:

 

Setup failed: An error occurred during installation. Stage: PopulateSettings (Sequence contains more than one element)

 

Wenn ich eine neue DB erstellen lasse, funktioniert das Setup.

 

Folgendes steht dann im Log:

 

 

2018-09-01 21:27:25,782 - INFO Checking requirements
2018-09-01 21:27:32,035 - INFO Building database
2018-09-01 21:27:43,759 - DEBUG Populate: PopulatePictures
2018-09-01 21:27:43,962 - DEBUG Populate: PopulateCurrencies
2018-09-01 21:27:44,041 - DEBUG Populate: PopulateStores
2018-09-01 21:27:44,306 - DEBUG Populate: InstallLanguages
2018-09-01 21:27:44,338 - DEBUG Populate: PopulateMeasureDimensions
2018-09-01 21:27:44,353 - DEBUG Populate: PopulateMeasureWeights
2018-09-01 21:27:44,369 - DEBUG Populate: PopulateTaxCategories
2018-09-01 21:27:44,635 - DEBUG Populate: PopulateCountriesAndStates
2018-09-01 21:27:45,354 - DEBUG Populate: PopulateShippingMethods
2018-09-01 21:27:45,385 - DEBUG Populate: PopulateDeliveryTimes
2018-09-01 21:27:45,401 - DEBUG Populate: PopulateCustomersAndUsers
2018-09-01 21:27:45,744 - DEBUG Populate: PopulateEmailAccounts
2018-09-01 21:27:45,760 - DEBUG Populate: PopulateMessageTemplates
2018-09-01 21:27:45,901 - DEBUG Populate: PopulateTopics
2018-09-01 21:27:46,104 - DEBUG Populate: PopulateSettings
2018-09-01 21:27:46,198 - ERROR An error occurred during installation. Stage: PopulateSettings
SmartStore.Data.Setup.SeedDataException: An error occurred during installation. Stage: PopulateSettings ---> System.InvalidOperationException: Sequence contains more than one element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at SmartStore.Data.Setup.InvariantSeedData.Settings()
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.PopulateSettings()
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.Populate(String stage, Action populateAction)
   --- End of inner exception stack trace ---
2018-09-01 21:27:46,198 - ERROR An error occurred during installation. Stage: PopulateSettings
SmartStore.Data.Setup.SeedDataException: An error occurred during installation. Stage: PopulateSettings ---> System.InvalidOperationException: Sequence contains more than one element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at SmartStore.Data.Setup.InvariantSeedData.Settings()
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.PopulateSettings()
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.Populate(String stage, Action populateAction)
   --- End of inner exception stack trace ---
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.Populate(String stage, Action populateAction)
   at SmartStore.Web.Infrastructure.Installation.InstallDataSeeder.Seed(SmartObjectContext context)
   at SmartStore.EnumerableExtensions.Each[T](IEnumerable`1 source, Action`1 action)
   at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
   at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
   at SmartStore.Web.Controllers.InstallController.InstallCore(ILifetimeScope scope, InstallModel model)



#6 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3317 Beiträge

Geschrieben: 05 September 2018 - 12:35

Kann ich nicht reproduzieren. Die Migration eine 2.6 Datenbank auf 3.1.5 lief bei mir fehlerfrei durch.
 
Könnten Sie mal bitte mit folgender SQL-Anweisung überprüfen, ob sich doppelte Settings in ihrer Datenbank befinden:
Select [Name], [StoreId]
FROM [dbo].[Setting]
GROUP BY [Name], [StoreId]
HAVING ( COUNT(*) > 1 )

Schöne Grüße aus Düsseldorf,
Marcus Gesing