/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/user_guide/libraries/migration.html

  • Committer: Gustav Hartvigsson
  • Date: 2013-04-11 16:45:55 UTC
  • mfrom: (23.2.1 lenasys)
  • Revision ID: gustav.hartvigsson@gmail.com-20130411164555-ljhmrb2ys3xatogt
commited implementation group one's team branch.
20130411.

Merge proposal comment:
Removed codeigniter user guide, shouldn't be in the repo
Added and implemented CKEditor Wysiwyg editor for editing of pages
Made already uploaded code files visible as you edit a page
Implemented Adams dropdown menu in codeviewer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
 
<head>
4
 
 
5
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
 
<title>Migration Class : CodeIgniter User Guide</title>
7
 
 
8
 
<style type='text/css' media='all'>@import url('../userguide.css');</style>
9
 
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
10
 
 
11
 
<script type="text/javascript" src="../nav/nav.js"></script>
12
 
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
13
 
<script type="text/javascript" src="../nav/moo.fx.js"></script>
14
 
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
15
 
 
16
 
<meta http-equiv='expires' content='-1' />
17
 
<meta http-equiv= 'pragma' content='no-cache' />
18
 
<meta name='robots' content='all' />
19
 
<meta name='author' content='CodeIgniter Dev Team' />
20
 
<meta name='description' content='CodeIgniter User Guide' />
21
 
 
22
 
</head>
23
 
<body>
24
 
 
25
 
<!-- START NAVIGATION -->
26
 
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
27
 
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
28
 
<div id="masthead">
29
 
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
30
 
<tr>
31
 
<td><h1>CodeIgniter User Guide Version 2.1.3</h1></td>
32
 
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
33
 
</tr>
34
 
</table>
35
 
</div>
36
 
<!-- END NAVIGATION -->
37
 
 
38
 
 
39
 
<!-- START BREADCRUMB -->
40
 
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
41
 
<tr>
42
 
<td id="breadcrumb">
43
 
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
44
 
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
45
 
Migration Class
46
 
</td>
47
 
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
48
 
</tr>
49
 
</table>
50
 
<!-- END BREADCRUMB -->
51
 
 
52
 
<br clear="all" />
53
 
 
54
 
 
55
 
<!-- START CONTENT -->
56
 
<div id="content">
57
 
 
58
 
 
59
 
<h1>Migration Class</h1>
60
 
 
61
 
<p>Migrations are a convenient way for you to alter your database in a structured and organized manner. You could edit fragments of SQL by hand but you would then be responsible for telling other developers that they need to go and run them. You’d also have to keep track of which changes need to be run against the production machines next time you deploy.</p>
62
 
 
63
 
<p>The database table <var>migration</var> tracks which migrations have already been run so all you have to do is update your application files and call <dfn>$this->migrate->current()</dfn> to work out which migrations should be run. The current version is found in <var>config/migration.php</var>.</p>
64
 
 
65
 
<h2>Create a Migration</h2>
66
 
 
67
 
<p>This will be the first migration for a new site which has a blog. All migrations go in the folder <var>application/migrations/</var> and have names such as: <kbd>001_add_blog.php</kbd>.</p>
68
 
 
69
 
<pre>
70
 
defined('BASEPATH') OR exit('No direct script access allowed');
71
 
 
72
 
class Migration_Add_blog extends CI_Migration {
73
 
 
74
 
        public function up()
75
 
        {
76
 
                $this->dbforge->add_field(array(
77
 
                        'blog_id' => array(
78
 
                                'type' => 'INT',
79
 
                                'constraint' => 5,
80
 
                                'unsigned' => TRUE,
81
 
                                'auto_increment' => TRUE
82
 
                        ),
83
 
                        'blog_title' => array(
84
 
                                'type' => 'VARCHAR',
85
 
                                'constraint' => '100',
86
 
                        ),
87
 
                        'blog_description' => array(
88
 
                                'type' => 'TEXT',
89
 
                                'null' => TRUE,
90
 
                        ),
91
 
                ));
92
 
                
93
 
                $this->dbforge->create_table('blog');
94
 
        }
95
 
 
96
 
        public function down()
97
 
        {
98
 
                $this->dbforge->drop_table('blog');
99
 
        }
100
 
</pre>
101
 
 
102
 
<p>Then in <var>application/config/migration.php</var> set <dfn>$config['migration_version'] = 1;</dfn>.
103
 
 
104
 
<h2>Usage Example</h2>
105
 
 
106
 
<p>In this example some simple code is placed in <var>application/controllers/migrate.php</var> to update the schema.</p>
107
 
 
108
 
<pre>
109
 
$this->load->library('migration');
110
 
 
111
 
if ( ! $this->migration->current())
112
 
{
113
 
        show_error($this->migration->error_string());
114
 
}
115
 
</pre>
116
 
 
117
 
 
118
 
<h1>Function Reference</h1>
119
 
 
120
 
<h2>$this->migration->current()</h2>
121
 
 
122
 
<p>The current migration is whatever is set for <dfn>$config['migration_version']</dfn> in <var>application/config/migration.php</var>.</p>
123
 
 
124
 
 
125
 
<h2>$this->migration->latest()</h2>
126
 
 
127
 
<p>This works much the same way as current() but instead of looking for the <dfn>$config['migration_version']</dfn> the Migration class will use the very newest migration found in the filesystem.</p>
128
 
 
129
 
<h2>$this->migration->version()</h2>
130
 
 
131
 
<p>Version can be used to roll back changes or step forwards programmatically to specific versions. It works just like current but ignores <dfn>$config['migration_version']</dfn>.</p>
132
 
 
133
 
<pre>
134
 
$this->load->library('migration');
135
 
 
136
 
$this->migration->version(5);
137
 
</pre>
138
 
 
139
 
<h2>Migration Preferences</h2>
140
 
 
141
 
<p>The following is a list of all the config options for migrations.</p>
142
 
 
143
 
 
144
 
<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
145
 
<tr>
146
 
<th>Preference</th>
147
 
<th>Default&nbsp;Value</th>
148
 
<th>Options</th>
149
 
<th>Description</th>
150
 
</tr><tr>
151
 
<td class="td"><strong>migration_enabled</strong></td><td class="td">FALSE</td><td class="td">TRUE / FALSE</td><td class="td">Enable or disable migrations.</td>
152
 
</tr><tr>
153
 
<td class="td"><strong>migration_version</strong></td><td class="td">0</td><td class="td">None</td><td class="td">The current version your database should use.</td>
154
 
</tr><tr>
155
 
<td class="td"><strong>migration_path</strong></td><td class="td">APPPATH.'migrations/'</td><td class="td">None</td><td class="td">The path to your migrations folder.</td>
156
 
</tr>
157
 
</table>
158
 
 
159
 
 
160
 
</div>
161
 
<!-- END CONTENT -->
162
 
 
163
 
 
164
 
<div id="footer">
165
 
<p>
166
 
Previous Topic:&nbsp;&nbsp;<a href="form_validation.html">Form Validation Class</a>
167
 
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
168
 
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
169
 
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
170
 
Next Topic:&nbsp;&nbsp;<a href="table.html">HTML Table Class</a>
171
 
</p>
172
 
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2012 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
173
 
</div>
174
 
 
175
 
</body>
176
 
</html>
 
 
b'\\ No newline at end of file'