adamgoose/seed-gen

根据现有数据库表的数据生成新的种子文件。

dev-master 2013-08-15 00:03 UTC

This package is auto-updated.

Last update: 2024-08-29 04:03:19 UTC


README

种子生成器(SeedGen) 是一个 Laravel 4 包,提供了一种基于现有数据库表数据生成新种子文件的方法。

安装

  1. 编辑项目的 composer.json 文件,以添加 adamgoose/seed-gen 依赖。

    "require": { "laravel/framework": "4.0.*", "adamgoose/seed-gen": "dev-master" }

  2. 通过 CLI 更新 Composer

    composer update

  3. 完成此操作后,通过打开 app/config/app.php 文件,并将新项添加到 providers 数组中来添加服务提供者。

    'Adamgoose\SeedGen\SeedGenServiceProvider'

用法

要生成种子文件,只需调用: \SeedGen::generateSeed('users');

这将在一个 /app/database/seeds 目录内创建一个文件,内容类似于以下示例

<?php

// File: /app/database/seeds/UsersTableSeeder.php

class UsersTableSeeder extends Seeder {

	/**
	 * Auto generated seed file
	 *
	 * @return void
	 */
	public function run()
	{
		\DB::table('users')->delete();
		\DB::table('users')->insert(array (
			0 =>
			array (
				'id' => '1',
				'email' => 'admin@admin.com',
				'password' => '$2y$10$tUGCkQf/0NY3w1l9sobGsudt6UngnoVXx/lUoh9ElcSOD0ERRkK9C',
				'permissions' => NULL,
				'activated' => '1',
				'activation_code' => NULL,
				'activated_at' => NULL,
				'last_login' => NULL,
				'persist_code' => NULL,
				'reset_password_code' => NULL,
				'first_name' => NULL,
				'last_name' => NULL,
				'created_at' => '2013-06-11 07:47:40',
				'updated_at' => '2013-06-11 07:47:40',
			),
			1 =>
			array (
				'id' => '2',
				'email' => 'user@user.com',
				'password' => '$2y$10$ImNvsMzK/BOgNSYgpjs/3OjMKMHeA9BH/hjl43EiuBuLkZGPMuZ2W',
				'permissions' => NULL,
				'activated' => '1',
				'activation_code' => NULL,
				'activated_at' => NULL,
				'last_login' => '2013-06-11 07:54:57',
				'persist_code' => '$2y$10$C0la8WuyqC6AU2TpUwj0I.E3Mrva8A3tuVFWxXN5u7jswRKzsYYHK',
				'reset_password_code' => NULL,
				'first_name' => NULL,
				'last_name' => NULL,
				'created_at' => '2013-06-11 07:47:40',
				'updated_at' => '2013-06-11 07:54:57',
			),
		));
	}

}

此命令还将更新 app/database/seeds/DatabaseSeeder.php 以包含对新生成的种子类的调用。

要(重新)填充数据库,请转到终端并运行 Laravel 的 db:seed 命令(php artisan db:seed)。