Downgrade dank Versionsverwaltung möglich?

Hallo zusammen

Wir haben folgende Situation. Aktuell führen wir eine neue Software ein. Der Hersteller schickt uns hier Key-Account-Manager die technisch nicht sehr pfiffig sind. Soweit so gut. Nun hatten wir gerade die Diskussion, ob wir auf der Testinstanz im Falle eines Falle ein SW-Downgrade machen können. Der Hersteller meinte; "nicht in allen Fällen".
aber ist nicht gerade auch das die Idee einer Versionsverwaltung?

Use-Case

Wir haben zwei Systeme:

  • Produktion und
  • Testumgebung

Wir habe eine Versionsverwaltung (Git) von der aus wir die SW entsprechend deployen. Sowohl auf Testumgebung als auch auf Prod.

So, nun hat man es offenbar verpasst, die Regeln für die Testumgebung festzusetzen. Der Hersteller (welcher aktuell bei uns im Haus ist) verlangt von uns immer wieder, dass wir RC (Release Candidates) auf die Testumgebung spielen. Was auch nicht dramatisch ist. Problem ist nur, dass wir offenbar die Softwareparität ausser Acht lassen. Denn was ich gerne hätte, wäre eine Produktion und eine Testumgebung die zumindest potenziell den selben Softwarestand fahren können. Dann kann man auf der Testumgebung spielen so viel man will, man kann jederzeit die Produktion 1:1 abbilden. Zumindest auf Softwareebene.

Nun gehe ich davon aus, dass man mit der Versionsverwaltung genau das kann. Also eine alte Version mit dem Master Mergen und dann deployen. Der Hersteller (technisch vielleicht nicht affin, da Verkäufer im Haus) meint, dass das nicht zwingend geht. Da beim RC oder bei welcher Version auch immer Tabellen bzw. die DB neu organisiert wird.

aber ich gehe eben genau davon aus, dass eine alte SW-Version die Tabellen bzw. DB Schemen dann wieder so um- und überschreibt wie sie das zum Versionsstand XYZ aus der Vergangenheit gemacht hat.

bin ich hier völlig auf dem Holzweg? Eine Versionsverwaltung bringt mir in dem Fall doch herzlich wenig, wenn ich kein Fallback bzw. Downgrade machen kann. richtig?

Grüsse euch, danke für eure Gedanken im Voraus.

Software, C Sharp, Datenbank, Downgrade, Softwareentwicklung, Upgrade, Datenbanksystem, github, Datenbankmodell
Java-Projekt: Wie lasse ich den Inhalt der Datenbank in einer Tabelle anzeigen?

Ich habe jetzt über mehrere Wege versucht, den Inhalt der Datenbank in der Tabelle anzeigen zu lassen und bin immer wieder auf mehr Probleme gestoßen. Kann mir jemand helfen?

Ich weiß nicht, wie ich das angehen soll und ob ich den Anfang überhaupt richtig habe.

Ich kopiere den Code aus der Datenbankklasse mal rein.

package kontaktVerwaltung;

import java.awt.Checkbox;
import java.awt.GraphicsConfiguration;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import com.mysql.cj.protocol.Resultset;

class Db {
  private kontaktVerwaltungClass cw;

  public Db(kontaktVerwaltungClass cw) {
    this.cw = cw;
  }

  public void speichern() {
    String url = "jdbc:mysql://localhost:3306/verwaltung";
    String user = "root";
    String pass = "";

    try {
      Connection con = DriverManager.getConnection(url, user, pass);
      String sql = "insert into contact(name, adress, postcode, website) values(?,?,?,?)";
      PreparedStatement pstmt = con.prepareStatement(sql);
      pstmt.setString(1, cw.tfName.getText());
      pstmt.setString(2, cw.tfAdress.getText());
      pstmt.setString(3, cw.tfPostcode.getText());
      pstmt.setString(4, cw.tfWebsite.getText());
      pstmt.execute();

      con.close();
    }
    catch (SQLException e) {
      JOptionPane.showMessageDialog(null, e.getMessage());
    }
  }

  public void show() {
    String url = "jdbc:mysql://localhost:3306/verwaltung";
    String user = "root";
    String pass = "";

    try {
      Connection con = DriverManager.getConnection(url, user, pass);
      String query1 = "SELECT * FROM contact";
      Statement st = con.createStatement();
      ResultSet rs = st.executeQuery(query1);
      kontaktVerwaltungClass kw;

      while(((ResultSet) rs).next()) {
        kw = new kontaktVerwaltungClass();
        kw.tbShow.add(rs);
      }

      con.close();
    }
    catch (SQLException e) {
      JOptionPane.showMessageDialog(null, e.getMessage());
    }
  }
}
Java, Datenbank, MySQL, Java Swing

Meistgelesene Beiträge zum Thema Datenbank