Package io.ebean.docker.commands
Class DbConfig
- java.lang.Object
-
- io.ebean.docker.commands.BaseConfig
-
- io.ebean.docker.commands.DbConfig
-
- All Implemented Interfaces:
ContainerConfig
- Direct Known Subclasses:
ClickHouseConfig,CockroachConfig,HanaConfig,MySqlConfig,NuoDBConfig,OracleConfig,PostgresConfig,SqlServerConfig
public abstract class DbConfig extends BaseConfig
Configuration for an DBMS like Postgres, MySql, Oracle, SQLServer
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConnectioncreateAdminConnection()Return a DB connection using the admin user.ConnectioncreateAdminConnection(String url)Return a Connection to the database using the admin user.ConnectioncreateConnection()Return a Connection to the database (make sure you close it).ConnectioncreateConnectionNoSchema()Return a DB connection without schema (as it maybe is not created yet).StringgetAdminPassword()StringgetAdminUsername()StringgetDbName()StringgetExtensions()StringgetExtraDb()StringgetExtraDbInitSqlFile()StringgetExtraDbPassword()StringgetExtraDbSeedSqlFile()StringgetExtraDbUser()StringgetInitSqlFile()StringgetPassword()StringgetSchema()StringgetSeedSqlFile()StringgetTmpfs()StringgetUsername()voidinitDefaultSchema()Set the schema if it hasn't already set.booleanisFastStartMode()booleanisInMemory()DbConfigsetAdminPassword(String adminPassword)Set the password for the DB admin user.DbConfigsetAdminUser(String dbAdminUser)Set the password for the DB admin user.DbConfigsetDbName(String dbName)Set the DB name.DbConfigsetExtensions(String extensions)Set the DB extensions to install (Postgres hstore, pgcrypto etc)DbConfigsetExtraDb(String extraDb)Set the name of an extra database to create.DbConfigsetExtraDbInitSqlFile(String extraDbInitSqlFile)Set a file to execute after creating the extra database.DbConfigsetExtraDbPassword(String extraDbPassword)Set the password for an extra user.DbConfigsetExtraDbSeedSqlFile(String extraDbSeedSqlFile)Set a file to execute after creating the extra database.DbConfigsetExtraDbUser(String extraDbUser)Set the name of an extra user to create.DbConfigsetFastStartMode(boolean fastStartMode)Set to true to use fast start mode.DbConfigsetInitSqlFile(String initSqlFile)Set the SQL file to execute after creating the database.DbConfigsetInMemory(boolean inMemory)Set to true to run using in memory storage for data via tmpfs.DbConfigsetPassword(String password)Set the DB password.DbConfigsetProperties(Properties properties)Load configuration from properties.DbConfigsetSchema(String schema)Set the DB schema.DbConfigsetSeedSqlFile(String seedSqlFile)Set the SQL file to execute after creating the database and initSqlFile.DbConfigsetTmpfs(String tmpfs)Set the temp fs for in-memory use.DbConfigsetUser(String user)Set the DB user.StringstartDescription()Return a description of the configuration.Stringsummary()Return summary of the port db name and other details.-
Methods inherited from class io.ebean.docker.commands.BaseConfig
clearStopMode, containerName, getAdminInternalPort, getAdminPort, getCharacterSet, getCollation, getDocker, getImage, getInternalPort, getMaxReadyAttempts, getPort, getStartMode, getStopMode, isDefaultCollation, isExplicitCollation, isStopModeNone, jdbcAdminUrl, jdbcUrl, platform, setAdminInternalPort, setAdminPort, setCharacterSet, setCollation, setContainerName, setDocker, setImage, setInternalPort, setMaxReadyAttempts, setPort, setShutdownMode, setStartMode, setStopMode, shutdownMode, stopDescription, version
-
-
-
-
Method Detail
-
startDescription
public String startDescription()
Return a description of the configuration.- Specified by:
startDescriptionin interfaceContainerConfig- Overrides:
startDescriptionin classBaseConfig
-
initDefaultSchema
public void initDefaultSchema()
Set the schema if it hasn't already set. Some databases (NuoDB) effectively require a default schema and it is reasonable for this to default to the username.
-
createConnection
public Connection createConnection() throws SQLException
Return a Connection to the database (make sure you close it).- Specified by:
createConnectionin interfaceContainerConfig- Overrides:
createConnectionin classBaseConfig- Throws:
SQLException
-
createConnectionNoSchema
public Connection createConnectionNoSchema() throws SQLException
Description copied from interface:ContainerConfigReturn a DB connection without schema (as it maybe is not created yet).- Specified by:
createConnectionNoSchemain interfaceContainerConfig- Overrides:
createConnectionNoSchemain classBaseConfig- Throws:
SQLException
-
createAdminConnection
public Connection createAdminConnection(String url) throws SQLException
Return a Connection to the database using the admin user.- Throws:
SQLException
-
createAdminConnection
public Connection createAdminConnection() throws SQLException
Description copied from interface:ContainerConfigReturn a DB connection using the admin user.- Specified by:
createAdminConnectionin interfaceContainerConfig- Overrides:
createAdminConnectionin classBaseConfig- Throws:
SQLException
-
setProperties
public DbConfig setProperties(Properties properties)
Load configuration from properties.- Overrides:
setPropertiesin classBaseConfig
-
setAdminUser
public DbConfig setAdminUser(String dbAdminUser)
Set the password for the DB admin user.
-
setAdminPassword
public DbConfig setAdminPassword(String adminPassword)
Set the password for the DB admin user.
-
setFastStartMode
public DbConfig setFastStartMode(boolean fastStartMode)
Set to true to use fast start mode.
-
setPassword
public DbConfig setPassword(String password)
Set the DB password.
-
setExtensions
public DbConfig setExtensions(String extensions)
Set the DB extensions to install (Postgres hstore, pgcrypto etc)
-
setInitSqlFile
public DbConfig setInitSqlFile(String initSqlFile)
Set the SQL file to execute after creating the database.
-
setSeedSqlFile
public DbConfig setSeedSqlFile(String seedSqlFile)
Set the SQL file to execute after creating the database and initSqlFile.
-
setExtraDb
public DbConfig setExtraDb(String extraDb)
Set the name of an extra database to create.
-
setExtraDbUser
public DbConfig setExtraDbUser(String extraDbUser)
Set the name of an extra user to create. If an extra database is also created this would be the owner of that extra database.
-
setExtraDbPassword
public DbConfig setExtraDbPassword(String extraDbPassword)
Set the password for an extra user. If nothing is set this would default to be the same as the main users password.
-
setExtraDbInitSqlFile
public DbConfig setExtraDbInitSqlFile(String extraDbInitSqlFile)
Set a file to execute after creating the extra database.
-
setExtraDbSeedSqlFile
public DbConfig setExtraDbSeedSqlFile(String extraDbSeedSqlFile)
Set a file to execute after creating the extra database.
-
setInMemory
public DbConfig setInMemory(boolean inMemory)
Set to true to run using in memory storage for data via tmpfs.
-
isInMemory
public boolean isInMemory()
-
getAdminUsername
public String getAdminUsername()
-
getAdminPassword
public String getAdminPassword()
-
getUsername
public String getUsername()
-
getPassword
public String getPassword()
-
getExtensions
public String getExtensions()
-
getInitSqlFile
public String getInitSqlFile()
-
getSeedSqlFile
public String getSeedSqlFile()
-
getExtraDb
public String getExtraDb()
-
getExtraDbUser
public String getExtraDbUser()
-
getExtraDbPassword
public String getExtraDbPassword()
-
getExtraDbInitSqlFile
public String getExtraDbInitSqlFile()
-
getExtraDbSeedSqlFile
public String getExtraDbSeedSqlFile()
-
isFastStartMode
public boolean isFastStartMode()
-
-