クラス DbVersionHandler


  • public class DbVersionHandler
    extends java.lang.Object
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      DbVersionHandler()  
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      void append​(com.sqlapp.data.schemas.Table table, com.sqlapp.util.OutputTextBuilder builder)  
      boolean createTable​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table)  
      com.sqlapp.data.schemas.Table createVersionTableDefinition()
      デフォルトの名前でバージョン管理テーブル定義を作成します。
      com.sqlapp.data.schemas.Table createVersionTableDefinition​(java.lang.String name)
      名前を指定してバージョン管理テーブルを取得します。
      int deleteVersion​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table, long id)  
      int deleteVersion​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table, com.sqlapp.data.schemas.Row row)  
      boolean dropTable​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table)  
      boolean exists​(com.sqlapp.data.db.dialect.Dialect dialect, java.sql.Connection connection, com.sqlapp.data.schemas.Table table, java.lang.Long id)  
      void exists​(com.sqlapp.data.db.dialect.Dialect dialect, java.sql.Connection connection, com.sqlapp.data.schemas.Table table, java.lang.Long id, java.util.function.Consumer<com.sqlapp.jdbc.ExResultSet> cons)  
      protected java.util.Date getAppliedAt​(com.sqlapp.data.schemas.Row row)  
      java.lang.String getAppliedAtColumnName()  
      java.lang.String getAppliedByColumnName()  
      protected java.lang.String getDescription​(com.sqlapp.data.schemas.Row row)  
      java.lang.String getDescriptionColumnName()  
      protected java.lang.Long getId​(com.sqlapp.data.schemas.Row row)  
      java.lang.String getIdColumnName()  
      java.lang.Long getLastApplied​(com.sqlapp.data.schemas.Table table)  
      java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionDown​(com.sqlapp.data.schemas.Table table, java.lang.Long version)
      最後に適用されたバージョンを返します。
      java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionDownSeries​(com.sqlapp.data.schemas.Table table)
      一括適用されたバージョンを返します。
      java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionMerge​(com.sqlapp.data.schemas.Table table, java.util.List<DbVersionFileHandler.SqlFile> sqlFiles)
      Merge用のバージョンを返します。
      com.sqlapp.data.schemas.Row getRowsForVersionRepair​(com.sqlapp.data.schemas.Table table)
      Repair対象バージョンを返します。
      java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionUp​(com.sqlapp.data.schemas.Table table, java.lang.Long version)  
      java.lang.String getSchemaChangeLogTableName()  
      protected java.lang.Long getSeriesNumber​(com.sqlapp.data.schemas.Row row)  
      java.lang.String getSeriesNumberColumnName()  
      protected Status getStatus​(com.sqlapp.data.schemas.Row row)  
      java.lang.String getStatusColumnName()  
      protected com.sqlapp.data.schemas.Table getTable​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table)  
      int insertVersion​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table, com.sqlapp.data.schemas.Row row, java.lang.Long seriesNumber, Status status)  
      boolean isWithSeriesNumber()  
      void load​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table)  
      com.sqlapp.data.schemas.Row markCurrentVersion​(com.sqlapp.data.schemas.Table table)  
      void mergeSqlFiles​(java.util.List<DbVersionFileHandler.SqlFile> sqlFiles, com.sqlapp.data.schemas.Table table)  
      void setAppliedAtColumnName​(java.lang.String appliedAtColumnName)  
      void setAppliedByColumnName​(java.lang.String appliedByColumnName)  
      void setDescriptionColumnName​(java.lang.String descriptionColumnName)  
      void setIdColumnName​(java.lang.String idColumnName)  
      void setSchemaChangeLogTableName​(java.lang.String schemaChangeLogTableName)  
      void setSeriesNumberColumnName​(java.lang.String seriesNumberColumnName)  
      void setStatusColumnName​(java.lang.String statusColumnName)  
      void setWithSeriesNumber​(boolean withSeriesNumber)  
      int updateVersion​(java.sql.Connection connection, com.sqlapp.data.db.dialect.Dialect dialect, com.sqlapp.data.schemas.Table table, com.sqlapp.data.schemas.Row row, java.lang.Long id, Status from, Status to)  
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • コンストラクタの詳細

      • DbVersionHandler

        public DbVersionHandler()
    • メソッドの詳細

      • getIdColumnName

        public java.lang.String getIdColumnName()
        戻り値:
        the idColumnName
      • setIdColumnName

        public void setIdColumnName​(java.lang.String idColumnName)
        パラメータ:
        idColumnName - the idColumnName to set
      • getAppliedByColumnName

        public java.lang.String getAppliedByColumnName()
        戻り値:
        the appliedByColumnName
      • setAppliedByColumnName

        public void setAppliedByColumnName​(java.lang.String appliedByColumnName)
        パラメータ:
        appliedByColumnName - the appliedByColumnName to set
      • getAppliedAtColumnName

        public java.lang.String getAppliedAtColumnName()
        戻り値:
        the appliedAtColumnName
      • setAppliedAtColumnName

        public void setAppliedAtColumnName​(java.lang.String appliedAtColumnName)
        パラメータ:
        appliedAtColumnName - the appliedAtColumnName to set
      • getStatusColumnName

        public java.lang.String getStatusColumnName()
        戻り値:
        the statusColumnName
      • setStatusColumnName

        public void setStatusColumnName​(java.lang.String statusColumnName)
        パラメータ:
        statusColumnName - the statusColumnName to set
      • getDescriptionColumnName

        public java.lang.String getDescriptionColumnName()
        戻り値:
        the descriptionColumnName
      • setDescriptionColumnName

        public void setDescriptionColumnName​(java.lang.String descriptionColumnName)
        パラメータ:
        descriptionColumnName - the descriptionColumnName to set
      • getSeriesNumberColumnName

        public java.lang.String getSeriesNumberColumnName()
        戻り値:
        the seriesNumberColumnName
      • setSeriesNumberColumnName

        public void setSeriesNumberColumnName​(java.lang.String seriesNumberColumnName)
        パラメータ:
        seriesNumberColumnName - the seriesNumberColumnName to set
      • createVersionTableDefinition

        public com.sqlapp.data.schemas.Table createVersionTableDefinition​(java.lang.String name)
        名前を指定してバージョン管理テーブルを取得します。
        パラメータ:
        name - 名前
        戻り値:
        バージョン管理テーブル定義
      • mergeSqlFiles

        public void mergeSqlFiles​(java.util.List<DbVersionFileHandler.SqlFile> sqlFiles,
                                  com.sqlapp.data.schemas.Table table)
      • getId

        protected java.lang.Long getId​(com.sqlapp.data.schemas.Row row)
      • getAppliedAt

        protected java.util.Date getAppliedAt​(com.sqlapp.data.schemas.Row row)
      • getStatus

        protected Status getStatus​(com.sqlapp.data.schemas.Row row)
      • getSeriesNumber

        protected java.lang.Long getSeriesNumber​(com.sqlapp.data.schemas.Row row)
      • getDescription

        protected java.lang.String getDescription​(com.sqlapp.data.schemas.Row row)
      • append

        public void append​(com.sqlapp.data.schemas.Table table,
                           com.sqlapp.util.OutputTextBuilder builder)
      • createVersionTableDefinition

        public com.sqlapp.data.schemas.Table createVersionTableDefinition()
        デフォルトの名前でバージョン管理テーブル定義を作成します。
        戻り値:
        バージョン管理テーブル定義
      • getLastApplied

        public java.lang.Long getLastApplied​(com.sqlapp.data.schemas.Table table)
      • markCurrentVersion

        public com.sqlapp.data.schemas.Row markCurrentVersion​(com.sqlapp.data.schemas.Table table)
      • getRowsForVersionUp

        public java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionUp​(com.sqlapp.data.schemas.Table table,
                                                                               java.lang.Long version)
      • getRowsForVersionDown

        public java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionDown​(com.sqlapp.data.schemas.Table table,
                                                                                 java.lang.Long version)
        最後に適用されたバージョンを返します。
        パラメータ:
        table - バージョン管理テーブル
        version - バージョン
        戻り値:
        最後に適用されたバージョン
      • getRowsForVersionMerge

        public java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionMerge​(com.sqlapp.data.schemas.Table table,
                                                                                  java.util.List<DbVersionFileHandler.SqlFile> sqlFiles)
        Merge用のバージョンを返します。
        パラメータ:
        table - バージョン管理テーブル
        sqlFiles - 対象のSQL
        戻り値:
        未適用のバージョン
      • getRowsForVersionRepair

        public com.sqlapp.data.schemas.Row getRowsForVersionRepair​(com.sqlapp.data.schemas.Table table)
        Repair対象バージョンを返します。
        パラメータ:
        table - バージョン管理テーブル
        戻り値:
        Repair対象バージョン
      • exists

        public boolean exists​(com.sqlapp.data.db.dialect.Dialect dialect,
                              java.sql.Connection connection,
                              com.sqlapp.data.schemas.Table table,
                              java.lang.Long id)
                       throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • exists

        public void exists​(com.sqlapp.data.db.dialect.Dialect dialect,
                           java.sql.Connection connection,
                           com.sqlapp.data.schemas.Table table,
                           java.lang.Long id,
                           java.util.function.Consumer<com.sqlapp.jdbc.ExResultSet> cons)
                    throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • getRowsForVersionDownSeries

        public java.util.List<com.sqlapp.data.schemas.Row> getRowsForVersionDownSeries​(com.sqlapp.data.schemas.Table table)
        一括適用されたバージョンを返します。
        パラメータ:
        table - バージョン管理テーブル
        戻り値:
        一括適用されたバージョン
      • getTable

        protected com.sqlapp.data.schemas.Table getTable​(java.sql.Connection connection,
                                                         com.sqlapp.data.db.dialect.Dialect dialect,
                                                         com.sqlapp.data.schemas.Table table)
                                                  throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • createTable

        public boolean createTable​(java.sql.Connection connection,
                                   com.sqlapp.data.db.dialect.Dialect dialect,
                                   com.sqlapp.data.schemas.Table table)
                            throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • dropTable

        public boolean dropTable​(java.sql.Connection connection,
                                 com.sqlapp.data.db.dialect.Dialect dialect,
                                 com.sqlapp.data.schemas.Table table)
                          throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • load

        public void load​(java.sql.Connection connection,
                         com.sqlapp.data.db.dialect.Dialect dialect,
                         com.sqlapp.data.schemas.Table table)
                  throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • insertVersion

        public int insertVersion​(java.sql.Connection connection,
                                 com.sqlapp.data.db.dialect.Dialect dialect,
                                 com.sqlapp.data.schemas.Table table,
                                 com.sqlapp.data.schemas.Row row,
                                 java.lang.Long seriesNumber,
                                 Status status)
                          throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • updateVersion

        public int updateVersion​(java.sql.Connection connection,
                                 com.sqlapp.data.db.dialect.Dialect dialect,
                                 com.sqlapp.data.schemas.Table table,
                                 com.sqlapp.data.schemas.Row row,
                                 java.lang.Long id,
                                 Status from,
                                 Status to)
                          throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • deleteVersion

        public int deleteVersion​(java.sql.Connection connection,
                                 com.sqlapp.data.db.dialect.Dialect dialect,
                                 com.sqlapp.data.schemas.Table table,
                                 com.sqlapp.data.schemas.Row row)
                          throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • deleteVersion

        public int deleteVersion​(java.sql.Connection connection,
                                 com.sqlapp.data.db.dialect.Dialect dialect,
                                 com.sqlapp.data.schemas.Table table,
                                 long id)
                          throws java.sql.SQLException
        例外:
        java.sql.SQLException
      • getSchemaChangeLogTableName

        public java.lang.String getSchemaChangeLogTableName()
        戻り値:
        the schemaChangeLogTableName
      • setSchemaChangeLogTableName

        public void setSchemaChangeLogTableName​(java.lang.String schemaChangeLogTableName)
        パラメータ:
        schemaChangeLogTableName - the schemaChangeLogTableName to set
      • isWithSeriesNumber

        public boolean isWithSeriesNumber()
        戻り値:
        the withSeriesNumber
      • setWithSeriesNumber

        public void setWithSeriesNumber​(boolean withSeriesNumber)
        パラメータ:
        withSeriesNumber - the withSeriesNumber to set