samshal / scripd
轻松将数据库结构作为json文档或通过rest api进行转移
v1.0.2-alpha
2016-05-04 20:07 UTC
Requires
- php: ^5.3 || ^7.0
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;