我需要快速播种数据库表。我有 23 个表,包括数据透视表,不包括密码重置和迁移。他们中的大多数人都参与了关系。
由于有 23 个表要播种,因此编写播种器类并不快。考虑到外键,我可以使用什么东西来根据数据类型和长度为表播种。现在,数据是否没有意义并不重要。例如,名称可以填写“lasdkjflk alfsd”。但是,如果表格是这样设计的,它应该是 <20 个字符的字符串。
我需要快速播种数据库表。我有 23 个表,包括数据透视表,不包括密码重置和迁移。他们中的大多数人都参与了关系。
由于有 23 个表要播种,因此编写播种器类并不快。考虑到外键,我可以使用什么东西来根据数据类型和长度为表播种。现在,数据是否没有意义并不重要。例如,名称可以填写“lasdkjflk alfsd”。但是,如果表格是这样设计的,它应该是 <20 个字符的字符串。
尝试使用提供虚假数据的模型工厂,看看Laravel 5.2 模型工厂。
还可以看看Faker 种子,例如:
class PostsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$faker = Faker::create();
foreach (range(1,5) as $index) {
DB::table('posts')->insert([
'title' => $faker->catchPhrase,
'content' => $faker->paragraph,
'created_at' => $faker->dateTime($max = 'now'),
'updated_at' => $faker->dateTime($max = 'now'),
]);
}
}
}
希望这可以帮助。