Class LiquibaseDBUtils


  • public class LiquibaseDBUtils
    extends Object
    • Constructor Detail

      • LiquibaseDBUtils

        public LiquibaseDBUtils()
    • Method Detail

      • dropTable

        public static void dropTable​(IEntityContext ec,
                                     String tableName)
                              throws Exception
        Diese Methode dient dazu zur Laufzeit eine Tabelle innerhalb der aktuell verwendeten Datenbanverbindung zu löschen. Damit das Löschen erfolgen kann wird zunächst geprüft ob die Tabelle existiert. Existiert die Tabelle nicht so erfolgt eine Logausschrift und die Verarbeitung wird abgebrochen.
        Parameters:
        tableName - der Name der zu löschenden projektspezifischen Tabelle
        Throws:
        Exception - on errors while droping the table
      • createTable

        public static void createTable​(IEntityContext ec,
                                       String tableName,
                                       ArrayList<String> colNames,
                                       String colType)
                                throws Exception
        Diese Methode dient dazu zur Laufzeit eine Tabelle innerhalb der aktuell verwendeten Datenbanverbindung anzulegen. Damit das Anlegen erfolgen kann wird zunächst geprüft ob die Tabelle nicht existiert. Existiert die Tabelle bereits erfolgt eine Logausschrift und die Verarbeitung wird abgebrochen.
        Parameters:
        ec - EntityContext um die Session zu erhalten in dem die Tabelle erzeugt wird
        tableName - der Name der dynamisch zu erzeugenden Tabelle
        colNames - die Spalten, die die dynamische Tabelle enhalten soll
        colType - Typ der dynamischen Spalten
        Throws:
        Exception
      • getTableExistsPrecondition

        public static liquibase.precondition.core.TableExistsPrecondition getTableExistsPrecondition​(liquibase.database.Database db,
                                                                                                     String tableName)
                                                                                              throws liquibase.exception.DatabaseException
        Diese Methode dient der Überprüfung ob eine Tabelle bereits existiert
        Parameters:
        db - die Datenbank die genutzt werden soll
        tableName - der Name der zu prüfenden Tabelle
        Returns:
        TableExistsPrecondition gefüllt mir den entsprechend benötigten Werten
        Throws:
        liquibase.exception.DatabaseException
      • getForeignKeyExistsPrecondition

        public static liquibase.precondition.core.ForeignKeyExistsPrecondition getForeignKeyExistsPrecondition​(liquibase.database.Database db,
                                                                                                               String tableName,
                                                                                                               String foreignKey)
                                                                                                        throws liquibase.exception.DatabaseException
        Method to create an check if an foreign key exists
        Parameters:
        db - the database to use
        tableName - the name of the table to check for the foreign key
        foreignKey - the name of the foreign key to check
        Returns:
        ForeignKeyExistsPrecondition the resulting check
        Throws:
        liquibase.exception.DatabaseException
      • getAddForeignKeyConstraintStatement

        public static liquibase.sql.Sql[] getAddForeignKeyConstraintStatement​(liquibase.database.Database db,
                                                                              String tableName)
      • getForeignKeyName

        public static String getForeignKeyName​(String tableName)
      • getPrimaryKeyName

        public static String getPrimaryKeyName​(String tableName)