D365 BC Extension Update

5. August 2019 19:16

Hallo,
ich habe im Rahmen eines Upgrades versucht einige Tabellenfelder umzubenennen, da diese nicht eindeutig waren. Leider ist diese Operation fehlgeschlagen, also habe ich versucht wieder eine Version mit den bisherigen Feldnamen zu machen. Seitdem kommt jedoch immer die Fehlermeldung:

The extension failed to be deployed successfully. View the error details for more information and then deploy again.

Code:
Deployment failed. Errors: App ID : XXXXXXXXX Message : { A request to the Data Plane Admin Service failed.
Http status code: BadRequest
Error:
{
  "code": "ExtensionChangeFailed",
  "message": "Table Ticketheader :: Nicht unterstützte Feldänderung. Feld:Duration; Änderung:Remove\r\nTable Ticketlines :: Nicht unterstützte Feldänderung. Feld:Duration; Änderung:Remove,
  "innerError": {
    "code": "SyncValidationFailed"
  }
} }


Hilfe! Was kann ich tun?
Ich möchte erstmal neue ein unverändertes Release ausliefern. Leider zwingt mich die Produktivumgebung bei jedem Upgrade die Versionsnummer hochzuzählen. Letztendlich verändert diese Version aber nichts mehr am Schema der DB.

Re: D365 BC Extension Update

5. August 2019 19:27

Der Ursprüngliche Versuch die Feldnamen zu ändern ergab übrigens die gleiche Fehlermeldung, also offenbar versucht er bei jeder Schemaänderung erst den Remove zu machen.
Da in der Production Umgebung jedoch kein "force" möglch ist, wie kann ich die Daten erhalten und ein Update oder Downgrade durchführen?

Von den fehlgeschlagenen Updates kann ich ja leider nicht auswählen "Veröffentlichung aufheben" da diese nie veröffentlicht wurden.
Egal was ich versuche, er versucht immer zunächst den Remove für die genannten Felder auszuführen.

Re: D365 BC Extension Update

6. August 2019 08:01

nun, wenn mich nicht alles täuscht, solltest du das über UpgradeRoutinen hinbekommen

https://docs.microsoft.com/de-de/dynamics365/business-central/dev-itpro/developer/devenv-upgrading-extensions

Re: D365 BC Extension Update

6. August 2019 09:24

Upgraderoutinen verwende ich schon, aber soweit kommt er garnicht.
Vielleicht hängt im Hintergrund noch irgendwo als Zwischenschritt die Version mit den geänderten Feldnamen und er will diese erst ausführen?

Was mir bislang auch noch nicht klar ist, kann ich die Powershell Befehle aus der Hilfe auch irgendwie auf die gehostete Cloudversion anwenden, wenn ja wie bzw. wo ist das beschrieben?

Notfalls werde ich halt meine Daten per Rapidstart sichern müssen und die App deinstallieren und erneut aufsetzen. Zur not mit neuer App ID.

Re: D365 BC Extension Update

6. August 2019 16:59

https://community.dynamics.com/nav/b/stefanodemiliani/posts/dynamics-365-business-central-handling-breaking-schema-changes-on-production

PS: mit der Powershell solltest du nicht an die Cloudversion rankommen - aber auch hier nur gefährliches Halbwissen, aber ich kann mir beim besten Willen nicht vorstellen, dass das funktioniert - zumal dir die Connectionparameter fehlen

PPS:

https://github.com/Microsoft/AL/issues/1499

Steini hat geschrieben:Zur not mit neuer App ID.


DEFINITV mit einer neuen App ID!!!!!!!!!!!!!!!!!!!

Re: D365 BC Extension Update

7. August 2019 10:30

Auch eine vollständige deinstallation und neuinstallation schlägt fehl.
Hilft in diesem Fall wohl tatsächlich nur eine neue App mit neuer App ID.

Somit in Zukunft beachten: Keine Schemaänderungen an bestehenden Apps, nur Erweiterungen.

Re: D365 BC Extension Update

7. August 2019 14:33

also Schemaänderungen sollten schon funktionieren - nur eben keine destruktiven.