如何备份Laravel中的部分数据?
How to take backup of partial data in Laravel?
我正在 Laravel 进行一个项目,我必须备份数据库 (mySQL)。
我学会了备份整个数据库或选定的表。但对我来说挑战是只备份一些行。
场景如下:
有4张桌子
- 用户
- posts
- 标签
- post_tag
他们的关系
- 用户
hasMany
post 和每个 post belongsTo
一个用户
- post
hasMany
标签和一个标签 hasMany
posts
如果启动用户备份(where userId = 1
),那么我应该得到一个备份文件,其中包含上述所有四个表以及与 userId = 1
.
相关的数据
还有,如何恢复数据?
更新
这是一个基于角色的应用程序。 (有 2 个角色编辑和作者)
编辑有权限备份和恢复作者数据
如果这是一个仅限服务器管理员的操作,您可以使用 iseed to generate seeding files from your existing data in database. The restoration would be easy through Laravel's database seeding。
如果这是用户操作,那么您可能需要编写自己的导入/导出功能。您可以使用 fopen('php://output')
with fputcsv for the database to csv export. Then you may reference some available tutorials 的组合将 csv 写入数据库导入 Eloquent.
我正在 Laravel 进行一个项目,我必须备份数据库 (mySQL)。
我学会了备份整个数据库或选定的表。但对我来说挑战是只备份一些行。
场景如下:
有4张桌子
- 用户
- posts
- 标签
- post_tag
他们的关系
- 用户
hasMany
post 和每个 postbelongsTo
一个用户 - post
hasMany
标签和一个标签hasMany
posts
如果启动用户备份(where userId = 1
),那么我应该得到一个备份文件,其中包含上述所有四个表以及与 userId = 1
.
还有,如何恢复数据?
更新
这是一个基于角色的应用程序。 (有 2 个角色编辑和作者)
编辑有权限备份和恢复作者数据
如果这是一个仅限服务器管理员的操作,您可以使用 iseed to generate seeding files from your existing data in database. The restoration would be easy through Laravel's database seeding。
如果这是用户操作,那么您可能需要编写自己的导入/导出功能。您可以使用 fopen('php://output')
with fputcsv for the database to csv export. Then you may reference some available tutorials 的组合将 csv 写入数据库导入 Eloquent.