class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper (View source)

This is a helper class for the SS installer.

It does all the specific checking for MySQLDatabase to ensure that the configuration is setup correctly.

Methods

bool
requireDatabaseFunctions(array $databaseConfig)

Ensure that the database function for connectivity is available.

array
requireDatabaseServer(array $databaseConfig)

Ensure that the database server exists.

string
getDatabaseVersion(array $databaseConfig)

Determines the version of the database server

array
requireDatabaseVersion(array $databaseConfig)

Ensure that the MySQL server version is at least 5.0.

array
requireDatabaseConnection(array $databaseConfig)

Ensure a database connection is possible using credentials provided.

bool
checkValidDatabaseName(string $database)

Determines if a given database name is a valid Silverstripe name.

bool
checkDatabasePermissionGrant(string $database, string $permission, string $grant)

Checks if a specified grant proves that the current user has the specified permission on the specified database

bool
checkDatabasePermission(mixed $conn, string $database, string $permission)

Checks if the current user has the specified permission on the specified database

array
requireDatabaseOrCreatePermissions(array $databaseConfig)

Ensure that the database connection is able to use an existing database, or be able to create one if it doesn't exist.

array
requireDatabaseAlterPermissions(array $databaseConfig)

Ensure we have permissions to alter tables.

Details

bool requireDatabaseFunctions(array $databaseConfig)

Ensure that the database function for connectivity is available.

If it is, we assume the PHP module for this database has been setup correctly.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

bool

array requireDatabaseServer(array $databaseConfig)

Ensure that the database server exists.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'error' => 'details of error')

string getDatabaseVersion(array $databaseConfig)

Determines the version of the database server

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

string

Version of database server or false on failure

array requireDatabaseVersion(array $databaseConfig)

Ensure that the MySQL server version is at least 5.0.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('success' => true, 'error' => 'details of error')

array requireDatabaseConnection(array $databaseConfig)

Ensure a database connection is possible using credentials provided.

The established connection resource is returned with the results as well.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'connection' => mysql link, 'error' => 'details of error')

bool checkValidDatabaseName(string $database)

Determines if a given database name is a valid Silverstripe name.

Parameters

string $database

Candidate database name

Return Value

bool

bool checkDatabasePermissionGrant(string $database, string $permission, string $grant)

Checks if a specified grant proves that the current user has the specified permission on the specified database

Parameters

string $database

Database name

string $permission

Permission to check for

string $grant

MySQL syntax grant to check within

Return Value

bool

bool checkDatabasePermission(mixed $conn, string $database, string $permission)

Checks if the current user has the specified permission on the specified database

Parameters

mixed $conn

Connection object

string $database

Database name

string $permission

Permission to check

Return Value

bool

array requireDatabaseOrCreatePermissions(array $databaseConfig)

Ensure that the database connection is able to use an existing database, or be able to create one if it doesn't exist.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'existsAlready' => 'true')

array requireDatabaseAlterPermissions(array $databaseConfig)

Ensure we have permissions to alter tables.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'applies' => true), where applies is whether the test is relevant for the database