Version: current

     1 <?php
     2 /**
     3  * Interface for database helper classes.
     4  * @package sapphire
     5  */
     6 interface DatabaseConfigurationHelper {
     7
     8     /**
     9      * Ensure that the database function for connectivity is available.
    10      * If it is, we assume the PHP module for this database has been setup correctly.
    11      *
    12      * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
    13      * @return boolean
    14      */
    15     public function requireDatabaseFunctions($databaseConfig);
    16
    17     /**
    18      * Ensure that the database server exists.
    19      * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
    20      * @return array Result - e.g. array('okay' => true, 'error' => 'details of error')
    21      */
    22     public function requireDatabaseServer($databaseConfig);
    23
    24     /**
    25      * Ensure a database connection is possible using credentials provided.
    26      * The established connection resource is returned with the results as well.
    27      *
    28      * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
    29      * @return array Result - e.g. array('okay' => true, 'connection' => mysql link, 'error' => 'details of error')
    30      */
    31     public function requireDatabaseConnection($databaseConfig);
    32
    33     /**
    34      * Ensure that the database connection is able to use an existing database,
    35      * or be able to create one if it doesn't exist.
    36      *
    37      * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
    38      * @return array Result - e.g. array('okay' => true, 'existsAlready' => 'true')
    39      */
    40     public function requireDatabaseOrCreatePermissions($databaseConfig);
    41
    42 }

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -