Laravel 5框架学习之数据库迁移(Migrations)

网络营销 2025-04-05 17:36www.168986.cn短视频营销

Laravel 5 框架中的数据库迁移:创建、回滚与扩展

数据库迁移是 Laravel 5 框架的一大亮点,它就像数据库的“版本控制器”,让数据库结构的管理变得更为便捷。

在 Laravel 的 `database/migrations` 目录中,你会看到两个迁移文件,一个用于创建用户表,另一个用于用户密码重置。每个迁移文件包含两个主要方法:`up` 和 `down`。`up` 方法用于创建或修改数据表,而 `down` 方法则用于回滚更改,即删除数据表。

执行数据库迁移

运行命令 `php artisan migrate`,你会看到类似如下的输出:

```bash

Migration table created successfully.

Migrated: 2014_10_12_000000_create_users_table

Migrated: 2014_10_12_100000_create_password_resets_table

```

查看 MySQL 数据库,你会发现除了原本的 `migrations` 表记录迁移历史,还有 `users` 和 `password_resets` 数据表。

数据库回滚

如果需要对已创建的表进行更改或回滚,可以使用 `php artisan migrate:rollback` 命令。执行后,刚刚创建的 `users` 和 `password_resets` 表将被删除,只留下 `migrations` 表。

新建迁移

要创建新的数据表,可以使用命令 `php artisan make:migration create_article_table --create='articles'`。这将在 `database/migrations` 目录下生成新的迁移文件。

迁移文件示例:

```php

use Illuminate\Database\Migrations\Migration;

use Illuminate\Database\Schema\Blueprint;

class CreateArticleTable extends Migration {

public function up() {

Schema::create('articles', function(Blueprint $table) {

$table->increments('id'); // 自动增长的 ID 列

$table->string('title'); // 标题列

$table->text('body'); // 正文列

$table->timestamp('published_at'); // 发布时间列

$table->timestamps(); // 创建和更新时间列

});

}

public function down() {

Schema::drop('articles'); // 删除 articles 数据表

}

}

```

在定义完迁移文件后,再次运行 `php artisan migrate` 命令,新的数据表 `articles` 将被创建。如果你想在已存在的表上添加新字段,只需在 `up` 方法中添加相应的字段定义即可。例如,为 `articles` 表添加 `title` 和 `body` 字段。执行迁移后,新的字段将被添加到数据表中。

数据库迁移是 Laravel 框架中强大而实用的功能,它让数据库结构的管理变得更为直观和便捷。通过简单的命令和配置,你可以轻松创建、修改和回滚数据库表结构。 Laravel 框架:如何添加新字段到文章表并回滚迁移

假设我们需要向文章表添加一个新的字段,名为“摘要”。这时,Laravel 迁移为我们提供了一种方便的方式来实现这个需求。让我们逐步深入了解这个过程。

你需要生成一个新的迁移文件,用以描述你的数据变更。打开终端,输入以下命令:

```bash

php artisan make:migration add_excerpt_to_articles_table

```

这将在 `database/migrations` 目录下生成一个新的迁移文件。打开这个文件,你会看到两个主要的方法:`up` 和 `down`。这两个方法分别对应着执行迁移和回滚迁移的操作。目前这两个方法都是空的,我们可以开始填充它们。

删除这个文件并重新生成迁移文件,这次我们添加一个参数来指定表名,命令如下:

```bash

php artisan make:migration add_excerpt_to_articles_table --table='articles'

```

现在,`up` 方法里面已经有了初始代码。这个代码为我们提供了一个框架,我们可以在其中添加我们的数据修改代码。我们的目标是向 `articles` 表添加一个名为 `excerpt` 的新字段。这个字段的类型是文本,并且可以为空。我们可以这样修改 `up` 方法:

```php

public function up()

{

Schema::table('articles', function(Blueprint $table)

{

$table->text('excerpt')->nullable();

});

}

```

接下来是 `down` 方法,这个方法用于回滚我们的迁移。也就是说,如果我们决定不要这个 `excerpt` 字段了,就可以调用这个方法。我们可以这样写:

```php

public function down()

{

Schema::table('articles', function(Blueprint $table)

{

$table->dropColumn('excerpt');

});

}

```

现在,我们已经完成了迁移文件的编写。接下来,我们需要执行这个迁移,让数据库做出改变。在终端中输入以下命令:

```bash

php artisan migrate

```

如果你想回滚这个迁移(也就是删除我们刚刚添加的 `excerpt` 字段),你可以使用以下命令:

```bash

php artisan migrate:rollback

```

以上就是关于如何在 Laravel 5 框架中添加新字段并回滚迁移的全部内容。希望这篇文章能对你有所帮助,让你更加熟练地掌握 Laravel 框架的使用。如果你有任何问题或需要进一步的帮助,请随时提问。通过这个过程,我们不仅学会了如何使用 Laravel 迁移来修改数据库结构,还了解了如何回滚这些更改,以便在必要时恢复数据。这对于任何开发者来说都是一个非常有用的技能,特别是在进行数据库管理和开发时。

上一篇:如何理解象棋术语中的老兵 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by