pmurkin/mongo-schema-dumper

dev-master 2018-09-29 13:47 UTC

This package is auto-updated.

Last update: 2024-09-29 04:09:04 UTC


README

Scrutinizer Code Quality Total Downloads License

Laravel的Mongo Schema Dumper

无需复制所有数据即可导入和导出mongodb模式

  • 集合
  • 索引
  • 容量大小

您还可以从所需的集合中导出所有数据。

此主要用例是当您开发了一个使用mongodb的应用程序,并想要设置一个具有数据库布局的新实例。您可以运行控制台命令并创建一个json文件,其中包含您数据库的模式看起来如下

{
    "data": {
        "products": {
            "indexes": [
                {
                    "name": "_id_",
                    "ns": "data.products",
                    "key": {
                        "_id": 1
                    },
                    "v": 2
                }
            ],
            "options": []
        },
        "users: {
            "indexes": [
                {
                    "name": "_id_",
                    "ns": "data.users",
                    "key": {
                        "_id": 1
                    },
                    "v": 2
                }
            ],
            "options": [],
            "data": [
                {
                    "_id": "5858d847e632ed712a9f5c04",
                    "name": "admin"
                },
                {
                    "_id": "5858d872e632ed712a9f5c05",
                    "name": "manager"
                }
            ]
        }
    }
}

之后,您可以通过运行控制台命令将模式导入到数据库中。

安装

使用以下命令通过composer安装此包

$ composer require pmurkin/mongo-schema-dumper

更新composer后,将服务提供者添加到config/app.php中的providers数组中

Pmurkin\MongoSchemaDumper\MongoSchemaDumperServiceProvider::class,

使用方法

导出模式到文件

$ php artisan schema:export --databases=data,users --dump=users.roles --file=./schema.json

databases - 导出列表中的数据库

dump - 要导出的集合列表

file - 保存文件(可选,默认为 ./schema.json)

从文件导入模式

$ php artisan schema:import --file=./schema.json

file - 保存文件(可选,默认为 ./schema.json)