samshal/scripd

轻松将数据库结构作为json文档或通过rest api进行转移

v1.0.2-alpha 2016-05-04 20:07 UTC

This package is auto-updated.

Last update: 2024-09-23 23:03:32 UTC


README

强大的SQL生成器。根据自定义的jsyn文件格式解析在json中定义的数据库结构,并生成相应的SQL查询。

类功能

  • 用于定义数据库结构的类似于json的文件格式
  • 支持多个SQL供应商/方言
  • 与PHP 5.0+兼容
  • 支持UTF-8内容以及8位、base64、二进制和quoted-printable编码
  • 更多功能!

为什么你需要它

这个项目是在用户需要在PHP应用程序中创建自己的自定义数据库结构的需求下诞生的。我希望用户能够在支持多个数据库供应商(如mysql、sqlite和sql server)的同时修改数据库结构。

这个库提供了以类似于json的格式创建数据库结构的能力,并生成与多个数据库供应商兼容的SQL。

它也非常易于使用并集成到你的基于PHP的项目中

许可证

此软件根据MIT许可证分发。请阅读LICENSE以获取有关软件可用性和分发的信息。

安装与加载

Scripd可通过Composer/Packagist获取,所以只需将此行添加到你的composer.json文件中

"samshal/scripd": "~1.0"

或者

composer require samshal/scripd

简单示例

JSON数据库结构(structure.json)

{
	":database":{
		":crud-action":"create",
		"name":"dbname",

		":table":[
			{
				":crud-action":"create",
				"name":"students",
				"columns":[
					{
						"name":"id",
						"data-type":"int",
						"primary-key":true
					},
					{
						"name":"first_name",
						"data-type":"varchar(20)",
						"default":"'samuel'"
					},
					{
						"name":"last_name",
						"data-type":"varchar(20)"
					},
					{
						"name":"class",
						"data-type":"varchar(10)"
					}
				]
			}
		]
	}
}

PHP(index.php)

<?php
    require 'vendor/autoload.php';

    $jsonDBStructure = new Samshal\Scripd\JsonDbStructure('./structure.json', 'mysql');

    $jsonDBStructure->parseStructure();

    $sql = $jsonDBStructure->getGeneratedSql();
    
    echo $sql;