LaravEl学习笔记数据库-数据库迁移案例.doc
文本预览下载声明
创建迁移
首先,让我们创建一个MySql数据库“Laravel_db”。接下来打开app/config目录下的database.php文件。请确保default键值是mysql:
1 return array(
2 ...
3 default = mysql,
然后输入你的数据库配置信息:
1 ...
2 connections = array(
3 mysql = array(
4 driver = mysql,
5 host = ,
6 database = laravel_db, //数据库名
7 username = root, //你的数据库用户
8 password = Your_Database_Password, //数据库登录密码
9 charset = utf8,
10 collation = utf8_unicode_ci,
11 prefix = ,
12 ),
13 ...
我们要使用Laravel命令行工具artisan来创建我们新的迁移。要运行astisan需要打开一个终端,切换路径到Laravel引用程序文件夹的更目录。
第一个我们需要做的就是安装migrations表,这样Laravel就可以追踪哪些迁移已经运行了。下面的命令将会在数据库中创建一个特殊的表:
1 php artisan migrate:install
如下:
?
如果创建成功,artisan会返回“Migration table created successfully.”。
查看数据库,你会发现artisan确实创建了一个新表“migrations”。
你不需要过于关注这个表。这只是一个帮助Laravel监视迁移的表。当你添加新的迁移,artisan migrate会检查migrations表并执行那些没有运行的迁移。
现在,让我们创建一个实际的迁移文件。我想创建一个名为“author”的新表。让我们运行artisan migrate:make命令:
1 php artisan migrate:make create_authors_table
运行截图如下:
?
你会在app/database/migrations目录下看到文件2014_03_11_162133_create_authors_table.php。
正如你看到的,一个新的迁移文件名称中包含时间戳和迁移的描述性名称。
[注]注意细节的读者可能会注意到我们用“authors”问不是“author”命名作者表。这是Laravel设计理念的一方面,使用自然模型帮助我们存储数据模型。Laravel的表应该始终命名为你的数据模型的复数形式。对于Author模型,表就被命名为“authors”。如果你有一个模型Car,你需要命名表为“Cars”。另外,SELECT name FROM authors WHERE id=100比SELECT name FROM author WHERE id=100更有意义。
迁移的解剖
迁移是Illuminate\Database\Migrations\MigrationLaravel 类的子类。您创建的类必须至少包含类的两个方法up()和down()。下面是生成由artisan的骨架迁移类:
1 ?php
2 use Illuminate\Database\Schema\Blueprint;
3 use Illuminate\Database\Migrations\Migration;
4 HYPERLINK
5 class CreateAuthorsTable extends Migration {
6
7 /**
8 * Run the migrations.
9 *
10 * @return void
11 */
12 public function up()
13 {
14 //
15 }
16
17 /**
18 * Reverse the migrations.
19 *
20 * @return void
21 */
22 public function down()
23 {
2
显示全部