summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/database/utilities.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/database/utilities.rst')
-rw-r--r--user_guide_src/source/database/utilities.rst316
1 files changed, 0 insertions, 316 deletions
diff --git a/user_guide_src/source/database/utilities.rst b/user_guide_src/source/database/utilities.rst
deleted file mode 100644
index 114291f85..000000000
--- a/user_guide_src/source/database/utilities.rst
+++ /dev/null
@@ -1,316 +0,0 @@
-######################
-Database Utility Class
-######################
-
-The Database Utility Class contains methods that help you manage your
-database.
-
-.. contents::
- :local:
- :depth: 2
-
-******************************
-Initializing the Utility Class
-******************************
-
-.. important:: In order to initialize the Utility class, your database
- driver must already be running, since the utilities class relies on it.
-
-Load the Utility Class as follows::
-
- $this->load->dbutil();
-
-You can also pass another database object to the DB Utility loader, in case
-the database you want to manage isn't the default one::
-
- $this->myutil = $this->load->dbutil($this->other_db, TRUE);
-
-In the above example, we're passing a custom database object as the first
-parameter and then tell it to return the dbutil object, instead of
-assigning it directly to ``$this->dbutil``.
-
-.. note:: Both of the parameters can be used individually, just pass an empty
- value as the first one if you wish to skip it.
-
-Once initialized you will access the methods using the ``$this->dbutil``
-object::
-
- $this->dbutil->some_method();
-
-****************************
-Using the Database Utilities
-****************************
-
-Retrieve list of database names
-================================
-
-Returns an array of database names::
-
- $dbs = $this->dbutil->list_databases();
-
- foreach ($dbs as $db)
- {
- echo $db;
- }
-
-
-Determine If a Database Exists
-==============================
-
-Sometimes it's helpful to know whether a particular database exists.
-Returns a boolean TRUE/FALSE. Usage example::
-
- if ($this->dbutil->database_exists('database_name'))
- {
- // some code...
- }
-
-.. note:: Replace *database_name* with the name of the database you are
- looking for. This method is case sensitive.
-
-Optimize a Table
-================
-
-Permits you to optimize a table using the table name specified in the
-first parameter. Returns TRUE/FALSE based on success or failure::
-
- if ($this->dbutil->optimize_table('table_name'))
- {
- echo 'Success!';
- }
-
-.. note:: Not all database platforms support table optimization. It is
- mostly for use with MySQL.
-
-Repair a Table
-==============
-
-Permits you to repair a table using the table name specified in the
-first parameter. Returns TRUE/FALSE based on success or failure::
-
- if ($this->dbutil->repair_table('table_name'))
- {
- echo 'Success!';
- }
-
-.. note:: Not all database platforms support table repairs.
-
-Optimize a Database
-===================
-
-Permits you to optimize the database your DB class is currently
-connected to. Returns an array containing the DB status messages or
-FALSE on failure.
-
-::
-
- $result = $this->dbutil->optimize_database();
-
- if ($result !== FALSE)
- {
- print_r($result);
- }
-
-.. note:: Not all database platforms support database optimization. It
- it is mostly for use with MySQL.
-
-Export a Query Result as a CSV File
-===================================
-
-Permits you to generate a CSV file from a query result. The first
-parameter of the method must contain the result object from your
-query. Example::
-
- $this->load->dbutil();
-
- $query = $this->db->query("SELECT * FROM mytable");
-
- echo $this->dbutil->csv_from_result($query);
-
-The second, third, and fourth parameters allow you to set the delimiter
-newline, and enclosure characters respectively. By default commas are
-used as the delimiter, "\n" is used as a new line, and a double-quote
-is used as the enclosure. Example::
-
- $delimiter = ",";
- $newline = "\r\n";
- $enclosure = '"';
-
- echo $this->dbutil->csv_from_result($query, $delimiter, $newline, $enclosure);
-
-.. important:: This method will NOT write the CSV file for you. It
- simply creates the CSV layout. If you need to write the file
- use the :doc:`File Helper <../helpers/file_helper>`.
-
-Export a Query Result as an XML Document
-========================================
-
-Permits you to generate an XML file from a query result. The first
-parameter expects a query result object, the second may contain an
-optional array of config parameters. Example::
-
- $this->load->dbutil();
-
- $query = $this->db->query("SELECT * FROM mytable");
-
- $config = array (
- 'root' => 'root',
- 'element' => 'element',
- 'newline' => "\n",
- 'tab' => "\t"
- );
-
- echo $this->dbutil->xml_from_result($query, $config);
-
-.. important:: This method will NOT write the XML file for you. It
- simply creates the XML layout. If you need to write the file
- use the :doc:`File Helper <../helpers/file_helper>`.
-
-********************
-Backup Your Database
-********************
-
-Database Backup Notes
-=====================
-
-Permits you to backup your full database or individual tables. The
-backup data can be compressed in either Zip or Gzip format.
-
-.. note:: This feature is only available for MySQL and Interbase/Firebird databases.
-
-.. note:: For Interbase/Firebird databases, the backup file name is the only parameter.
-
- $this->dbutil->backup('db_backup_filename');
-
-.. note:: Due to the limited execution time and memory available to PHP,
- backing up very large databases may not be possible. If your database is
- very large you might need to backup directly from your SQL server via
- the command line, or have your server admin do it for you if you do not
- have root privileges.
-
-Usage Example
-=============
-
-::
-
- // Load the DB utility class
- $this->load->dbutil();
-
- // Backup your entire database and assign it to a variable
- $backup = $this->dbutil->backup();
-
- // Load the file helper and write the file to your server
- $this->load->helper('file');
- write_file('/path/to/mybackup.gz', $backup);
-
- // Load the download helper and send the file to your desktop
- $this->load->helper('download');
- force_download('mybackup.gz', $backup);
-
-Setting Backup Preferences
-==========================
-
-Backup preferences are set by submitting an array of values to the first
-parameter of the ``backup()`` method. Example::
-
- $prefs = array(
- 'tables' => array('table1', 'table2'), // Array of tables to backup.
- 'ignore' => array(), // List of tables to omit from the backup
- 'format' => 'txt', // gzip, zip, txt
- 'filename' => 'mybackup.sql', // File name - NEEDED ONLY WITH ZIP FILES
- 'add_drop' => TRUE, // Whether to add DROP TABLE statements to backup file
- 'add_insert' => TRUE, // Whether to add INSERT data to backup file
- 'newline' => "\n" // Newline character used in backup file
- );
-
- $this->dbutil->backup($prefs);
-
-Description of Backup Preferences
-=================================
-
-======================= ======================= ======================= ========================================================================
-Preference Default Value Options Description
-======================= ======================= ======================= ========================================================================
-**tables** empty array None An array of tables you want backed up. If left blank all tables will be
- exported.
-**ignore** empty array None An array of tables you want the backup routine to ignore.
-**format** gzip gzip, zip, txt The file format of the export file.
-**filename** the current date/time None The name of the backed-up file. The name is needed only if you are using
- zip compression.
-**add_drop** TRUE TRUE/FALSE Whether to include DROP TABLE statements in your SQL export file.
-**add_insert** TRUE TRUE/FALSE Whether to include INSERT statements in your SQL export file.
-**newline** "\\n" "\\n", "\\r", "\\r\\n" Type of newline to use in your SQL export file.
-**foreign_key_checks** TRUE TRUE/FALSE Whether output should keep foreign key checks enabled.
-======================= ======================= ======================= ========================================================================
-
-***************
-Class Reference
-***************
-
-.. php:class:: CI_DB_utility
-
- .. php:method:: backup([$params = array()])
-
- :param array $params: An associative array of options
- :returns: raw/(g)zipped SQL query string
- :rtype: string
-
- Perform a database backup, per user preferences.
-
- .. php:method:: database_exists($database_name)
-
- :param string $database_name: Database name
- :returns: TRUE if the database exists, FALSE otherwise
- :rtype: bool
-
- Check for the existence of a database.
-
- .. php:method:: list_databases()
-
- :returns: Array of database names found
- :rtype: array
-
- Retrieve a list of all the database names.
-
- .. php:method:: optimize_database()
-
- :returns: Array of optimization messages or FALSE on failure
- :rtype: array
-
- Optimizes the database.
-
- .. php:method:: optimize_table($table_name)
-
- :param string $table_name: Name of the table to optimize
- :returns: Array of optimization messages or FALSE on failure
- :rtype: array
-
- Optimizes a database table.
-
- .. php:method:: repair_table($table_name)
-
- :param string $table_name: Name of the table to repair
- :returns: Array of repair messages or FALSE on failure
- :rtype: array
-
- Repairs a database table.
-
- .. php:method:: csv_from_result($query[, $delim = ','[, $newline = "\n"[, $enclosure = '"']]])
-
- :param object $query: A database result object
- :param string $delim: The CSV field delimiter to use
- :param string $newline: The newline character to use
- :param string $enclosure: The enclosure delimiter to use
- :returns: The generated CSV file as a string
- :rtype: string
-
- Translates a database result object into a CSV document.
-
- .. php:method:: xml_from_result($query[, $params = array()])
-
- :param object $query: A database result object
- :param array $params: An associative array of preferences
- :returns: The generated XML document as a string
- :rtype: string
-
- Translates a database result object into an XML document.