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()  
      org.flywaydb.core.internal.database.base.Schema[] getAllSchemas()  
      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 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, 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>
      • 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.
      • getAllSchemas

        public org.flywaydb.core.internal.database.base.Schema[] getAllSchemas()
        Overrides:
        getAllSchemas in class org.flywaydb.core.internal.database.base.Database<SQLServerConnection>