Runnin Faker在本地和生产中创建了不同的Id

时间:2016-08-27 16:14:26

标签: php mysql laravel heroku faker

我正在使用Laravel 5.3并使用Faker创建一些数据

在本地运行此代码时

$factory->define(App\User::class, function (Faker\Generator $faker) {
    $username = str_replace(".","",$faker->username);
    return [
        'username' => $username,
        'email' => $faker->safeEmail,
        'password' => bcrypt('123456'),
        'remember_token' => str_random(10),
    ];
});

生成id范围为1-50的数据,如下图所示 http://i.imgur.com/DhIK8JP.png

另一段代码在它之后运行,并期望用户ID在1-50之间

$factory->define(App\Album::class, function (Faker\Generator $faker) {
    return [
        'hash' => str_random(7),
        'title' => $faker->sentence,
        'user_id' => $faker->numberBetween(1, 50),
        'published' => false,
    ];
});

每次运行php artisan db:seed时,所有这些都在本地运行 我现在正在使用来自cleardb.com的Heroku和mysql插件

当我部署并运行db:seed时,它每次都会生成这个。 Id每次从4开始,每次运行时都会上升到494。因此,当我尝试在生产上播种时,我的db:seed失败了,因为它希望用户ID为1-50。有什么想法发生了什么?

http://i.imgur.com/yZqz70K.png

1 个答案:

答案 0 :(得分:0)

我认为你应该在你的桌子上重置auto_increment counter:

ALTER TABLE tablename AUTO_INCREMENT = 1