diff options
author | Andrey Andreev <narf@devilix.net> | 2014-01-20 17:19:13 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2014-01-20 17:19:13 +0100 |
commit | 27f798b9d64025fecaaecbd80a8cba41d455940f (patch) | |
tree | c0f19d7dc6bab73157513a4b7efff3af9bfbf75f /user_guide_src | |
parent | 4d0571666d03511ac5b4a1f2a6882ccb1509a209 (diff) |
Add support for optional table attributes to CI_DB_forge::create_table()
Supersedes PRs #989, #2776
Related issue: #41
Diffstat (limited to 'user_guide_src')
-rw-r--r-- | user_guide_src/source/changelog.rst | 3 | ||||
-rw-r--r-- | user_guide_src/source/database/forge.rst | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index c68258e1c..7dc358652 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -240,8 +240,9 @@ Release Date: Not Released - Added an optional second parameter to ``drop_table()`` that allows adding the **IF EXISTS** condition, which is no longer the default. - Added support for passing a custom database object to the loader. - - Deprecated ``add_column()``'s third method. *AFTER* clause should now be added to the field definition array instead. + - Added support for passing custom table attributes (such as ``ENGINE`` for MySQL) to ``create_table()``. - Added support for usage of the *FIRST* clause in ``add_column()`` for MySQL and CUBRID. + - Deprecated ``add_column()``'s third method. *AFTER* clause should now be added to the field definition array instead. - Overall improved support for all of the drivers. - :doc:`Database Utility <database/utilities>` changes include: diff --git a/user_guide_src/source/database/forge.rst b/user_guide_src/source/database/forge.rst index ca904ed00..48642ad7e 100644 --- a/user_guide_src/source/database/forge.rst +++ b/user_guide_src/source/database/forge.rst @@ -201,6 +201,15 @@ into the definition $this->dbforge->create_table('table_name', TRUE); // gives CREATE TABLE IF NOT EXISTS table_name +You could also pass optional table attributes, such as MySQL's ``ENGINE``:: + + $attributes = array('ENGINE' => 'InnoDB'); + $this->dbforge->create_table('table_name', FALSE, $attributes); + // produces: CREATE TABLE `table_name` (...) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci + +.. note:: Unless you specify the ``CHARACTER SET`` and/or ``COLLATE`` attributes, + ``create_table()`` will always add them with your configured *char_set* + and *dbcollat* values, as long as they are not empty (MySQL only). Dropping a table ================ |