Laravel의 우아한 SQL 데이터를 해결하기 위해 Laravel을 소개하는 방법이 필요한 친구들에게 도움이 되길 바랍니다!
Background
migration
을 통해 데이터베이스 구조 수정이 완료될 수 있다는 것을 알고 있으며, seeder 완료. <span class="header-link octicon octicon-link"></span>미리 입력된 데이터가 많아 개발 과정에서 생성된 경우, 손으로 직접 작성한 <code>seder
에 삽입하는 것이 너무 경직될 수 있으므로 내용을 하나씩 복사하여 수정해야 할 수도 있습니다. one:
\DB::table('software_categories')->insert(array( 0 => array( 'id' => 1, 'name' => '操作系统', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:22:31', 'updated_at' => '2021-01-19 19:22:36', 'parent_id' => NULL, 'order' => '0', ), 1 => array( 'id' => 2, 'name' => '办公应用', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:22:53', 'updated_at' => '2021-01-19 19:22:53', 'parent_id' => NULL, 'order' => '0', ), 2 => array( 'id' => 3, 'name' => '图像处理', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:22:59', 'updated_at' => '2021-01-19 19:22:59', 'parent_id' => NULL, 'order' => '0', ), 3 => array( 'id' => 4, 'name' => '网络工具', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:23:04', 'updated_at' => '2021-01-19 19:23:10', 'parent_id' => NULL, 'order' => '0', ), 4 => array( 'id' => 5, 'name' => '影音工具', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:23:35', 'updated_at' => '2021-01-19 19:23:35', 'parent_id' => NULL, 'order' => '0', ), 5 => array( 'id' => 6, 'name' => '系统工具', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:23:47', 'updated_at' => '2021-01-19 19:23:47', 'parent_id' => NULL, 'order' => '0', ), 6 => array( 'id' => 7, 'name' => '设计工具', 'description' => NULL, 'deleted_at' => NULL, 'created_at' => '2021-01-19 19:24:05', 'updated_at' => '2021-01-19 19:24:05', 'parent_id' => NULL, 'order' => '0', ), ));
데이터가 충분하다면 일괄 처리할 수 있는 좋은 방법을 찾을 것이라고 믿습니다. migration
完成,对于数据库生产数据的预填充可以使用 seeder
完成。
如果预填充的数据比较多,而又是在开发过程中产生的,手写 seeder
中的插入就显得过于死板,你可能需要一笔一笔的复制修改这些内容:
DB::unprepared(file_get_contents('path/data.sql'));
这些数据如果够多,我相信你也一定会找一个好办法来批量处理。
一,我可以在开发过程中对预填充的数据全部处理完成后,从数据库导出 .sql
文件,再作为脚本导入到生产环境。
二,我可以将数据库中已存在的数据进行结构化处理,生成 seeder
文件,之后就可以通过 artisan db:seed
命令进行填充。
这两种方法都可以。
使用数据库管理工具,如 HeidiSQL 导出需要的数据库表至 .sql
文件。
在 Laravel 中,可以编写一个 command
,逻辑中写入以下代码:
这是我认为最佳的方案,毕竟 Laravel 提供了完善的数据库迁移和填充机制,何不利用它?
执行 composer require orangehill/iseed -vvv
安装包。
执行 php artisan iseed table_name
会自动在 database/seeders
目录中创建对应表名的 seeder
文件。
而后,我们就可以使用 artisan db:seed --class=YourTableSeeder
.sql
파일을 내보낸 다음 프로덕션 환경에 스크립트. 🎜🎜둘째, 데이터베이스의 기존 데이터를 구조화하고 seeder
파일을 생성한 다음 artisan db:seed
명령을 통해 채울 수 있습니다. 🎜🎜두 가지 방법 모두 가능합니다. 🎜.sql
파일로 내보냅니다. 🎜🎜Laravel에서는 명령
을 작성하고 로직에 다음 코드를 작성할 수 있습니다. 🎜rrreeecomposer require orangehill/iseed -vvv
설치 패키지를 실행하세요. 🎜🎜php artisan iseed table_name
을 실행하면 database/seeders
디렉터리에 테이블 이름에 해당하는 seeder
파일이 자동으로 생성됩니다. 🎜🎜그런 다음 artisan db:seed --class=YourTableSeeder
를 사용하여 채우기를 지정할 수 있습니다. 🎜위 내용은 Laravel이 SQL 데이터를 우아하게 채우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!