Laravel 5 - 如何在部署应用程序后自动播种 table?
Laravel 5 - How to seed table automatically after deploying an app?
我有一些数据必须在 table 中才能使我的应用程序运行,否则我会收到一条错误消息。
例如,如果您或其他任何人从 github 中提取我的应用程序,并且如果您 运行 php artisan migrate 然后尝试测试该应用程序,您将收到错误消息:
数据不存在或类似的东西。
这是因为 table.
中没有数据
所以理想的解决方案是在 运行ning 之后:
php artisan migrate
您还可以在 table 中获得所需的数据。
这应该用播种机以某种方式完成,但我不知道如何做。谁能帮我举个例子?
如何为应该进入 car_company 的数据制作种子 table:
id car_company
1 大众
2 辆奔驰
3辆奥迪
4 辆保时捷
有 4 行,我想在 运行ning
之后插入它们
php artisan db:seed
运行php artisan migrate
后你需要运行php artisan db:seed
,
要将种子写入数据库,您可以按照以下说明操作:https://laravel.com/docs/5.2/seeding#using-model-factories
另一个有用的软件包是:https://github.com/fzaninotto/Faker,帮助您将数据伪造到数据库。
目前,对于这种情况,我使用数据库迁移。您不需要在迁移中只创建数据库结构,但您也可以在迁移中将数据添加到数据库,这样就足以 运行 php artisan migrate
创建数据库结构并在数据库中创建所需的数据.
首先运行以下命令:
php artisan make:seeder CarCompanyTableSeeder。这将在 database\seeds.
中创建 class CarCompanyTableSeeder
在函数public函数内运行()请添加以下代码:
public function run()
{
$data = array(
array(
'id' => 1,
'car_company' => 'Volkswagen'
),
array(
'id' => 2,
'car_company' => 'Mercedes'
),
array(
'id' => 3,
'car_company' => 'Audi'
),
array(
'id' => 4,
'car_company' => 'Porsche'
)
);
DB::table('car_company')->insert($data);
}
在database\seeds中还有一个class class DatabaseSeeder extends Seeder。在 class 中有一个函数 运行()。在此处添加以下代码:
public function run()
{
Model::unguard();
$this->call(CarCompanyTableSeeder::class);
Model::reguard();
}
现在,当您 运行 php artisan db:seed 时,您想要的值就会插入到那里。
我有一些数据必须在 table 中才能使我的应用程序运行,否则我会收到一条错误消息。
例如,如果您或其他任何人从 github 中提取我的应用程序,并且如果您 运行 php artisan migrate 然后尝试测试该应用程序,您将收到错误消息: 数据不存在或类似的东西。 这是因为 table.
中没有数据所以理想的解决方案是在 运行ning 之后:
php artisan migrate
您还可以在 table 中获得所需的数据。
这应该用播种机以某种方式完成,但我不知道如何做。谁能帮我举个例子?
如何为应该进入 car_company 的数据制作种子 table:
id car_company
1 大众
2 辆奔驰
3辆奥迪
4 辆保时捷
有 4 行,我想在 运行ning
之后插入它们 php artisan db:seed
运行php artisan migrate
后你需要运行php artisan db:seed
,
要将种子写入数据库,您可以按照以下说明操作:https://laravel.com/docs/5.2/seeding#using-model-factories
另一个有用的软件包是:https://github.com/fzaninotto/Faker,帮助您将数据伪造到数据库。
目前,对于这种情况,我使用数据库迁移。您不需要在迁移中只创建数据库结构,但您也可以在迁移中将数据添加到数据库,这样就足以 运行 php artisan migrate
创建数据库结构并在数据库中创建所需的数据.
首先运行以下命令:
php artisan make:seeder CarCompanyTableSeeder。这将在 database\seeds.
中创建 class CarCompanyTableSeeder在函数public函数内运行()请添加以下代码:
public function run()
{
$data = array(
array(
'id' => 1,
'car_company' => 'Volkswagen'
),
array(
'id' => 2,
'car_company' => 'Mercedes'
),
array(
'id' => 3,
'car_company' => 'Audi'
),
array(
'id' => 4,
'car_company' => 'Porsche'
)
);
DB::table('car_company')->insert($data);
}
在database\seeds中还有一个class class DatabaseSeeder extends Seeder。在 class 中有一个函数 运行()。在此处添加以下代码:
public function run()
{
Model::unguard();
$this->call(CarCompanyTableSeeder::class);
Model::reguard();
}
现在,当您 运行 php artisan db:seed 时,您想要的值就会插入到那里。