Class MySQLDatabase
- java.lang.Object
-
- migratedb.v1.core.internal.database.base.BaseDatabase
-
- migratedb.v1.core.internal.database.mysql.MySQLDatabase
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Database
- Direct Known Subclasses:
MariaDBDatabase,TiDBDatabase
public class MySQLDatabase extends BaseDatabase
-
-
Field Summary
-
Fields inherited from class migratedb.v1.core.internal.database.base.BaseDatabase
configuration, databaseType, jdbcConnectionFactory, jdbcTemplate, rawMainJdbcConnection
-
-
Constructor Summary
Constructors Constructor Description MySQLDatabase(Configuration configuration, JdbcConnectionFactory jdbcConnectionFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancatalogIsSchema()protected VersiondetermineVersion()protected StringdoGetCurrentUser()protected MySQLSessiondoGetSession(Connection connection)Retrieves a MigrateDB session for this JDBC connection.voidensureSupported()Ensure MigrateDB supports this version of this database.StringgetBooleanFalse()StringgetBooleanTrue()StringgetCloseQuote()protected StringgetConstraintName(String tableName)StringgetOpenQuote()StringgetRawCreateScript(Table table, boolean baseline)protected booleanisCreateTableAsSelectAllowed()booleansupportsChangingCurrentSchema()booleansupportsDdlTransactions()booleanusesSingleSession()-
Methods inherited from class migratedb.v1.core.internal.database.base.BaseDatabase
close, computeVersionDisplayName, doGetCatalog, doQuote, ensureDatabaseIsRecentEnough, getAllSchemas, getBaselineStatement, getCatalog, getCreateScript, getCurrentUser, getDatabaseType, getDefaultDelimiter, getEscapedQuote, getInsertStatement, getInstalledBy, getJdbcMetaData, getMainSession, getMigrationSession, getSelectStatement, getVersion, quote, recommendMigrateDbUpgradeIfNecessary, recommendMigrateDbUpgradeIfNecessaryForMajorVersion, supportsEmptyMigrationDescription, supportsMultiStatementTransactions, unQuote
-
-
-
-
Constructor Detail
-
MySQLDatabase
public MySQLDatabase(Configuration configuration, JdbcConnectionFactory jdbcConnectionFactory)
-
-
Method Detail
-
isCreateTableAsSelectAllowed
protected boolean isCreateTableAsSelectAllowed()
-
doGetSession
protected MySQLSession doGetSession(Connection connection)
Description copied from class:BaseDatabaseRetrieves a MigrateDB session for this JDBC connection.- Specified by:
doGetSessionin classBaseDatabase
-
determineVersion
protected Version determineVersion()
- Overrides:
determineVersionin classBaseDatabase- Returns:
- The major and minor version of the database.
-
ensureSupported
public final void ensureSupported()
Description copied from interface:DatabaseEnsure MigrateDB supports this version of this database.
-
doGetCurrentUser
protected String doGetCurrentUser() throws SQLException
- Overrides:
doGetCurrentUserin classBaseDatabase- Throws:
SQLException
-
supportsDdlTransactions
public boolean supportsDdlTransactions()
-
supportsChangingCurrentSchema
public boolean supportsChangingCurrentSchema()
-
getBooleanTrue
public String getBooleanTrue()
- Returns:
- The representation of the value
truein a boolean column.
-
getBooleanFalse
public String getBooleanFalse()
- Returns:
- The representation of the value
falsein a boolean column.
-
getOpenQuote
public String getOpenQuote()
- Overrides:
getOpenQuotein classBaseDatabase
-
getCloseQuote
public String getCloseQuote()
- Overrides:
getCloseQuotein classBaseDatabase
-
catalogIsSchema
public boolean catalogIsSchema()
- Returns:
trueif this database uses a catalog to represent a schema, orfalseif a schema is simply a schema.
-
usesSingleSession
public boolean usesSingleSession()
- Specified by:
usesSingleSessionin interfaceDatabase- Overrides:
usesSingleSessionin classBaseDatabase- Returns:
- Whether a single session is used for both schema history table management and applying migrations.
-
-