Mehrere Entwickler - Datenbankänderungen

Hallo zusammen!

Wir starten gerade unsere Programmierung mit OXID EE und überlegen wie wir Datenbankänderungen sinnvoll in unserem Team und mit dem Liveserver “synchronisieren”.

Wie macht ihr das in euren Teams?

Ich setzte das zwar selbst (mangels Notwendigkeit) nicht ein, ist mir aber bereits von mehreren Seiten in diesem Zusammenhang empfohlen worden:
http://www.liquibase.org/de/home

Danke, das seh ich mir gleich mal etwas genauer an. Hier gibts doch aber bestimmt auch Leute, die in Teams entwickeln!? Vielleicht können die kurz ihren Workflow beschreiben?

Ray, ich glaub hier geht’s gar nicht um Versionskontrolle sondern eher um Staging. Könnt Ihr nicht direkt auf einer Entwicklungsdatenbank arbeiten und jeder Benutzer greift mit seiner VMware darauf zu? Dann bräuchte man nur noch einen Commint-Stopp auszurufen, wenn der Livegang ansteht, alle Entwickler gehen einen Kaffe trinken und ein Script schaufelt Euch alles auf den Live-Server.

Gruß

Hi Marco,

also unser Verständnisproblem liegt eigentlich darin begründet, dass uns noch der Überblick fehlt, welche Informationen, wo in der Datenbank gespeichert sind und die Verschlüsselung der oxconfig erleichtert dies auch nicht gerade :wink:

In unserem alten Shop haben wir so gearbetet:
Liveserver: 1 Datenbank, in der alle Produktdaten usw. gepflegt wurden.
Entwicklungsserver: 1 Datenbank für alle Entwickler

Bei Bedarf konnten wir die Livedatenbank einfach auf den DevServer dumpen, ohne irgendwelche Konfigurationen (E-Mail-Adressen, Pfade usw) zu überschreiben. Änderungen an der Datenbank, die durch neue Module nötig wurden, mussten dann auf dem Liveserver von Hand eingefügt werden.

Könnte man so auch mit Oxid arbeiten, oder führt das zu Problemen?

[QUOTE=udel;107267]…dass uns noch der Überblick fehlt, welche Informationen, wo in der Datenbank gespeichert sind und die Verschlüsselung der oxconfig erleichtert dies auch nicht gerade ;-)?[/QUOTE]

hier gibts eine etwas ältere Übersicht einer CE-Datenbank

http://wiki.oxidforge.org/File:Oxid_ce43x_mysql_admin_nomenklatur.xls

Hi Ray,

danke sehr hilfreich. Ich habe in der Zwischenzeit ein kleines CLI Script geschrieben, das alle Einträge aus der oxconfig in Klartext ausgibt. Falls da jemand Bedarf hat:


defined('SHOPBASEPATH')
    || define('SHOPBASEPATH', realpath(dirname(__FILE__) . '/../htdocs'));

require_once(SHOPBASEPATH. "/core/oxfunctions.php");
require_once(SHOPBASEPATH. "/core/adodblite/adodb.inc.php");

function getShopBasePath()
{
    return SHOPBASEPATH . '/';
}

$oDb = oxDb::getDb();

$sQ  = "SELECT oxvarname, oxvartype, DECODE( oxvarvalue, '" . oxConfig::getInstance()->getConfigParam( 'sConfigKey' ) . "') as oxvarvalue from oxconfig";

$oRs = $oDb->execute( $sQ );

if ( $oRs != false && $oRs->recordCount() > 0 ) {
    while ( !$oRs->EOF ) {
        echo $oRs->fields[0] . ' [' . $oRs->fields[1] . ']:  ' . $oRs->fields[2] . "

";
        $oRs->moveNext();
    }
}