当前位置 : 主页 > 网络编程 > PHP >

laravel数据迁移

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt 1.如果不存在,创建migrations表php artisan migrate:install2.创建迁移文件php artisan migrate:make create_authors_table可以在创建迁移的时候指定 --path 选项,指定的目录应该相对于安装目录的
gistfile1.txt
1.如果不存在,创建migrations表
php artisan migrate:install

2.创建迁移文件
php artisan migrate:make create_authors_table
可以在创建迁移的时候指定 --path 选项,指定的目录应该相对于安装目录的主目录:
php artisan migrate:make foo --path=app/migrations
--table 和 --create 选项可以被用来指定表名以及是否创建一个新表:
php artisan migrate:make add_votes_to_user_table --table=users
php artisan migrate:make create_users_table --create=users

3.修改迁移文件
例如:
public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email');
        $table->string('password');
        $table->text('avatar');
        $table->timestamp('login_time');
    });
}

4.运行所有迁移
php artisan migrate
运行某个路径下的所有迁移
php artisan migrate --path=app/foo/migrations
运行某个包下的所有迁移
php artisan migrate --package=vendor/package


5.创建填充表数据的文件
php artisan make:seed UserTableSeeder
最后修改填充文件,例如
public function run()
    {
        \DB::table('user')->delete();

		DB::table('user')->insert([
		    'name' => 'iplus',
		    'email' => 'iplus@iplus.com',
		    'password' => '125800',
		]);
    }

6.执行数据填充
php artisan db:seed
单独运行某个填充器要加上--class=ArticleTableSeeder
php artisan db:seed --class=ArticleTableSeeder
如果提示找不到class时,执行composer dump-autoload

7.回滚迁移
回滚最后一次迁移
php artisan migrate:rollback
回滚所有迁移
php artisan migrate:reset
回滚所有迁移并重新运行所有迁移
php artisan migrate:refresh
php artisan migrate:refresh --seed
网友评论