1. 创建迁移文件
生成 messages 表的迁移文件,文件在 database\migrations
php artisan make:migration create_messages_table --create=messages
还可以在创建模型的同时生成迁移文件,模型是单数形式,创建的数据表自动为复数形式
php artisan make:model Diary -m
2. 迁移数据
php artisan migrate
3. 数据填充
创建填充文件
创建一个填充文件,并完善填充文件,文件在 database\seeds
php artisan make:seeder MessageTableSeeder
完善填充文件,然后执行文件填充
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class MessageTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
DB::table('messages')->insert([
['name' => 'violet', 'age' => 25],
['name' => 'lavender', 'age' => 20],
]);
}
}
执行单个填充文件
执行单个填充文件,把填充文件里数据写入数据库
php artisan db:seed --class=MessageTableSeeder
批量执行填充文件
批量执行填充文件时要对 databas\seeds\DatabaseSeeder.php 做修改,把前面的填充文件加到里面
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
$this->call(MessateTableSeeder::class);
}
}
然后再批量执行
php artisan db:seed
常见数据类型
数据库主键自增 ID
$table->increments('id');
INTEGER
$table->integer('votes');
FLOAT
$table->float('amount');
CHAR
$table->char('name', 4);
VARCHAR
$table->string('name', 100);
ENUM
$table->enum('choices', ['foo','bar']);
TINYINT
$table->tinyInteger('numbers');
添加 created_at 和 updated_at
$table->timestamps();