laravel 的数据库迁移提供了对数据库、表、字段、索引的一系列相关操作。下面以创建友情链接表为例。
使用 Artisan 命令 php artisan make:migration create_links_table
这样就在 database/migrations 目录下生成一个名为 2017_05_06_151645_create_links_table.php 文件。名字的前半段 "2017_05_06_151645_" 是 Laravel 增加的时间戳。后半段 "create_links_table.php" 是表名字。
然后,打开这个迁移类 2017_05_06_151645_create_links_table.php ,里面有两个方法: up() 和 down() 。up() 方法建表,down() 方法删表。
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateLinksTable extends Migration
{
/**
* 执行迁移
*
* @return void
*/
public function up()
{
Schema::create('links', function (Blueprint $table){
$table->engine = 'MyISAM';
$table->increments('id');
$table->string('name')->default('')->comment('名称');
$table->string('title')->default('')->comment('标题');
$table->string('url')->default('')->comment('地址');
$table->integer('sort')->default(50)->comment('排序');
});
}
/**
* 回滚迁移
*
* @return void
*/
public function down()
{
Schema::drop('links');
}
}
2017_05_06_151645_create_links_table.php使用 Artisan 命令 php artisan migrate
现在,数据库中已经创建了一张 hd_links 表 和 一张记录迁移的表 hd_migrations ("hd_" 是配置的表前缀):

注意:如果手动删除了迁移类并且文件无法重新创建,使用 composer dump-autoload 命令优化一下自动加载就可以重新创建迁移了。
可用于测试,为数据库中的表填充一些数据。
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
508
使用 Artisan 命令 php artisan make:seeder LinksTableSeeder
这将在 database/seeds 目录下生成一个名为 LinksTableSeeder.php 的友情链接填充类。
然后,打开这个 LinksTableSeeder.php 文件,添加两条测试记录。
<?php
use Illuminate\Database\Seeder;
class LinksTableSeeder extends Seeder
{
/**
* 运行数据库填充
*
* @return void
*/
public function run()
{
$data = [
[
'name' => 'Laravel 中文社区',
'title' => 'Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub',
'url' => 'https://laravel-china.org/',
'sort' => '49'
],
[
'name' => 'GitHub',
'title' => 'GitHub is where people build software. More than 21 million people use...',
'url' => 'https://github.com',
'sort' => '49'
]
];
DB::table('links')->insert($data);
}
}在 database/seeds 目录下的 DatabaseSeeder.php 这个数据库填充类中,在 run() 方法内调用填充。
DatabaseSeeder.php 文件内容:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* 运行数据库填充
*
* @return void
*/
public function run()
{
$this->call(LinksTableSeeder::class);
}
}使用 Artisan 命令 php artisan db:seed
现在,数据库中的 hd_links 表就有了2条记录:

以上就是Laravel5.2中实现数据库迁移与数据填充的实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号