Wouter Rijnbende
|
|
« Reply #20 on: November 02, 2012, 10:05:33 am » |
|
Standaard heb je in Profit Test- en Produktiebestanden. Via een batchfile kun je Produktiebestanden naar de Testbestanden kopieren, opdat je in de Testbestanden aktuelere data hebt (kopie van je live database) om mee te testen.
Als je, zoals jullie, Profit-Base-Test hebt, heb je niet alleen Test- en Produktiebestanden, maar ook Test- en Produktieprogrammatuur.
Een upgrade van ons voer je dan uit in Test (Testbestanden + Testprogrammatuur), en zodra je akkoord bent met alle aanpassingen bepaal je dat je de Upgrade van Test- wilt overzetten naar Produktie (Produktiebestanden + Produktieprogrammatuur). Op zich mag je best meerdere Upgrades in Test uitvoeren alvorens je bepaalt e.e.a. over te zetten naar Produktie.
Nb: Onze Upgrades bevatten nooit de gegevens van een vorige Upgrade. Hooguit komt het voor dat iemand een Upgrade aanvraagt, wij er een klaarzetten, maar de klant besluit de Upgrade niet uit te voeren. Zulke situaties moeten aan ons gemeld worden (wij gaan ervanuit dat als wij een Upgrade klaarzetten, deze ook wordt uitgevoerd), omdat wij dat de Upgrade in ons versiebeheer "terugdraaien", waarna de eerst volgende te genereren Upgrade je systeem zal updaten t/m de versie waarop de nieuwe upgrade wordt klaargezet.
Zodra je Upgrades pending hebt in de Testomgeving (dus, nog niet overgezet naar Produktie), heb je in de Testomgeving nieuwere programmatuur, maar ook nieuwere tabellen (of velden in tabellen). Als je op zo'n moment de Produktiebestanden over de Testbestanden heen kopieert overschrijf je alle tabellen met een oude versie, die niet de nieuwe velden bevat die bij de Upgrade in Test waren toegevoegd (klinkt wel logisch, niet?). E.d. kopie mag dus alleen plaatsvinden als je daarna verplicht een Database Upgrade in de Testomgeving uitvoert; deze vergelijkt opnieuw alle tabellen zoals die (dan) in de Testomgeving staan met hoe ze moeten zijn conform de laatst uitgevoerde Upgrade, en zal de structures waar nodig aanpassen.
Nog even een stapje verder... (ondertussen had ik het wel nog algemener op kunnen zetten en er een usefull topic van kunnen maken):
Na twee "bedrijfsparameter tabellen van ieder 254 velden" vol te hebben gekregen, zijn we bedrijfsparameters in een Systeembestand gaan registreren, met een indikator of de parameter voor de Produktie- danwel voor de Test-bestanden geldt. Als je alle DBF'fen van xxPF naar xxTF kopieert, kopieer je dus niet deze gegevens (parameters/instellingen) mee. Een kopie van Produktie- naar Test dient dus ook altijd te worden gevolgd door een kopie van deze parameters (zie Hoofdmenu,9,5,9,1,2).
Let op: Het gebeurt niet vaak, maar toch zijn er af en toe ook "konversies" aan de orde bij een Upgrade. Wat er in zo'n konversie staat kan verschillen. Feit is dat als jij een bestand van produktie- naar test kopieert terwijl dat bestand aan een konversie onderhavig was, dan weet het systeem niet dat de konversie opnieuw moet worden uitgevoerd, en loopt e.e.a. alsnog de soep in.
Ik zal e.e.a. even duidelijk proberen te maken met een voorbeeld: Stel dat wij bij een Artikel een veldje "Aktief J/N" erbij maken, en vinden dat deze in de index van het Artikel moet worden opgenomen (Bedrijf + Aktief J/N + Artikelnummer). De Upgrade voegt het veldje toe aan de tabel, en een konversie is nodig om bij alle huidige records een "Aktief = 'J'" op te nemen. Kopieer jij nu opnieuw het Artikelbestand uit de Produktieomgeving, dan is het veldje 'Aktief J/N' weer weg. Voer de Database Upgrade uit, dan wordt het veldje 'Aktief J/N' weer opgenomen. Hiermee is de intiële waarde echter "spatie" en geen J of N, terwijl er niets is wat opnieuw de konversie die deze vult getriggerd wordt.
Nb: Heb je geen Upgrade pending dan speelt dit probleem niet, immers, dan zal de Upgrade ook die konversie in de Produktiebestanden hebben uitgevoerd, en staat daar al een gevuld J/N veldje.
Resumer; omdat je zelf niet zult weten óf er konversies aan de orde zijn geweest bij je pending Upgrades, kun je zelf niet bepalen of het kwaad kan Produktie- naar Test te kopieren i.g.v. pending Upgrades. Altijd even vragen dus.
In dit geval zijn er geen konversies geweest, en dus zou je de Produktiebestanden- naar Test kunnen kopiëren mits je aanvullend een Database Upgrade doet in de Testbestanden.
Nb: Als laatste nog even een kleine toevoeging dat we Systeembestanden niet gescheiden hebben voor Test- en Produktie. Een "laatste Releasenote" waar je in Produktie naar staat te kijken zal dus dezelfde zijn als die je in Test ziet, terwijl die Releasenote i.g.v. een pending upgrade dus nog niet aktief hoeft te zijn in Produktie.
|