Class SQLServerDatabase

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    SynapseDatabase

    public class SQLServerDatabase
    extends org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
    • Field Summary

      • Fields inherited from class org.flywaydb.core.internal.database.base.Database

        configuration, databaseType, jdbcConnectionFactory, jdbcMetaData, jdbcTemplate, rawMainJdbcConnection, statementInterceptor
    • Constructor Summary

      Constructors 
      Constructor Description
      SQLServerDatabase​(org.flywaydb.core.api.configuration.Configuration configuration, org.flywaydb.core.internal.jdbc.JdbcConnectionFactory jdbcConnectionFactory, org.flywaydb.core.internal.jdbc.StatementInterceptor statementInterceptor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean catalogIsSchema()  
      protected java.lang.String computeVersionDisplayName​(org.flywaydb.core.api.MigrationVersion version)  
      protected void doCleanPostSchemas​(org.flywaydb.core.internal.database.base.Schema[] schemas)
      Cleans all the objects in this database that need to be cleaned after cleaning schemas.
      protected SQLServerConnection doGetConnection​(java.sql.Connection connection)  
      protected java.lang.String doGetCurrentUser()  
      java.lang.String doQuote​(java.lang.String identifier)  
      void ensureSupported()  
      java.lang.String getBooleanFalse()  
      java.lang.String getBooleanTrue()  
      java.lang.String getCloseQuote()  
      org.flywaydb.core.internal.sqlscript.Delimiter getDefaultDelimiter()  
      java.lang.String getEscapedQuote()  
      java.lang.String getOpenQuote()  
      java.lang.String getRawCreateScript​(org.flywaydb.core.internal.database.base.Table table, boolean baseline)  
      protected boolean supportsAssemblies()  
      boolean supportsChangingCurrentSchema()  
      boolean supportsDdlTransactions()  
      protected boolean supportsPartitions()  
      protected boolean supportsRules()  
      protected boolean supportsSequences()  
      protected boolean supportsSynonyms()  
      protected boolean supportsTriggers()  
      protected boolean supportsTypes()  
      boolean useSingleConnection()  
      • Methods inherited from class org.flywaydb.core.internal.database.base.Database

        cleanPostSchemas, cleanPreSchemas, close, determineVersion, doCleanPreSchemas, doGetCatalog, ensureDatabaseIsRecentEnough, ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition, getAllSchemas, getBaselineStatement, getCatalog, getConfiguration, getCreateScript, getCurrentUser, getDatabaseType, getInsertStatement, getInstalledBy, getJdbcMetaData, getMainConnection, getMigrationConnection, getSelectStatement, getVersion, notifyDatabaseIsNotFormallySupported, quote, recommendFlywayUpgradeIfNecessary, recommendFlywayUpgradeIfNecessaryForMajorVersion, supportsEmptyMigrationDescription, supportsMultiStatementTransactions, unQuote
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SQLServerDatabase

        public SQLServerDatabase​(org.flywaydb.core.api.configuration.Configuration configuration,
                                 org.flywaydb.core.internal.jdbc.JdbcConnectionFactory jdbcConnectionFactory,
                                 org.flywaydb.core.internal.jdbc.StatementInterceptor statementInterceptor)
    • Method Detail

      • doGetConnection

        protected SQLServerConnection doGetConnection​(java.sql.Connection connection)
        Specified by:
        doGetConnection in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • ensureSupported

        public final void ensureSupported()
        Specified by:
        ensureSupported in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • computeVersionDisplayName

        protected java.lang.String computeVersionDisplayName​(org.flywaydb.core.api.MigrationVersion version)
        Overrides:
        computeVersionDisplayName in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getDefaultDelimiter

        public org.flywaydb.core.internal.sqlscript.Delimiter getDefaultDelimiter()
        Overrides:
        getDefaultDelimiter in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • doGetCurrentUser

        protected java.lang.String doGetCurrentUser()
                                             throws java.sql.SQLException
        Overrides:
        doGetCurrentUser in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
        Throws:
        java.sql.SQLException
      • supportsDdlTransactions

        public boolean supportsDdlTransactions()
        Specified by:
        supportsDdlTransactions in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • supportsChangingCurrentSchema

        public boolean supportsChangingCurrentSchema()
        Specified by:
        supportsChangingCurrentSchema in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getBooleanTrue

        public java.lang.String getBooleanTrue()
        Specified by:
        getBooleanTrue in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getBooleanFalse

        public java.lang.String getBooleanFalse()
        Specified by:
        getBooleanFalse in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • doQuote

        public java.lang.String doQuote​(java.lang.String identifier)
        Overrides:
        doQuote in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getOpenQuote

        public java.lang.String getOpenQuote()
        Overrides:
        getOpenQuote in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getCloseQuote

        public java.lang.String getCloseQuote()
        Overrides:
        getCloseQuote in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getEscapedQuote

        public java.lang.String getEscapedQuote()
        Overrides:
        getEscapedQuote in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • catalogIsSchema

        public boolean catalogIsSchema()
        Specified by:
        catalogIsSchema in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • useSingleConnection

        public boolean useSingleConnection()
        Overrides:
        useSingleConnection in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • getRawCreateScript

        public java.lang.String getRawCreateScript​(org.flywaydb.core.internal.database.base.Table table,
                                                   boolean baseline)
        Specified by:
        getRawCreateScript in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
      • supportsPartitions

        protected boolean supportsPartitions()
      • supportsSequences

        protected boolean supportsSequences()
      • supportsSynonyms

        protected boolean supportsSynonyms()
      • supportsRules

        protected boolean supportsRules()
      • supportsTypes

        protected boolean supportsTypes()
      • supportsTriggers

        protected boolean supportsTriggers()
      • supportsAssemblies

        protected boolean supportsAssemblies()
      • doCleanPostSchemas

        protected void doCleanPostSchemas​(org.flywaydb.core.internal.database.base.Schema[] schemas)
                                   throws java.sql.SQLException
        Cleans all the objects in this database that need to be cleaned after cleaning schemas.
        Overrides:
        doCleanPostSchemas in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>
        Parameters:
        schemas - The list of schemas managed by Flyway
        Throws:
        java.sql.SQLException - when the clean failed.