summaryrefslogtreecommitdiffstats
path: root/application/controllers
diff options
context:
space:
mode:
authorPhil Sturgeon <email@philsturgeon.co.uk>2011-02-07 21:39:00 +0100
committerPhil Sturgeon <email@philsturgeon.co.uk>2011-02-07 21:39:00 +0100
commit9758d84b69185f80fd8197f28046af7ef3b2a2d3 (patch)
treeed4d30bd2b0d9bee4603cd5cd2943969e59f7119 /application/controllers
parentef112c0830df4a31563351125888b0d522a1c965 (diff)
Added Migrations library, config and an example controller/migration file.
Diffstat (limited to 'application/controllers')
-rw-r--r--application/controllers/migrate.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/application/controllers/migrate.php b/application/controllers/migrate.php
new file mode 100644
index 000000000..e5442e79c
--- /dev/null
+++ b/application/controllers/migrate.php
@@ -0,0 +1,40 @@
+<?php
+class Migrate extends CI_Controller
+{
+ function __construct()
+ {
+ parent::__construct();
+
+ $this->load->library('migration');
+
+ /** VERY IMPORTANT - only turn this on when you need it. */
+// show_error('Access to this controller is blocked, turn me on when you need me.');
+ }
+
+ // Install up to the most up-to-date version.
+ function install()
+ {
+ if ( ! $this->migration->current())
+ {
+ show_error($this->migration->error);
+ exit;
+ }
+
+ echo "<br />Migration Successful<br />";
+ }
+
+ // This will migrate up to the configed migration version
+ function version($id = NULL)
+ {
+ // No $id supplied? Use the config version
+ $id OR $id = $this->config->item('migration_version');
+
+ if ( ! $this->migration->version($id))
+ {
+ show_error($this->migration->error);
+ exit;
+ }
+
+ echo "<br />Migration Successful<br />";
+ }
+}