angujo / dbreader
提供DB结构接口的数据库接口库
dev-master
2020-04-25 05:37 UTC
Requires
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: 7.5.x-dev
This package is auto-updated.
Last update: 2024-09-25 15:42:54 UTC
README
关于
一个用于通过数据库结构读取的PHP库。根据给定的数据库结构生成模型很有用。适用于关系型数据库。
数据库支持
- PostgreSQL
- MySQL
- SQL Server
使用
设置
composer require angujo/dbreader
将库添加到项目后,需要设置数据库连接。您可以通过修改位于 src/configs.php
的配置文件来执行 静态连接 设置。
return [
'dbms' => 'postgres', // postgres/pgsql for postgres, mysql for MySQL
'host' => 'localhost',
'port' => '5432',
'database' => 'dvdrental',
'username' => 'postgres',
'password' => 'postgres',
'charset' => 'utf8mb4',
'options' => [],
];
动态 通过调用 Config
类的方法;一次性设置
Config::dns($dns_string,$username,$password);
// E.g. Config::dns('mysql:dbname=test;host:localhost;...','root','...');
或者您始终可以在运行时更改配置;
Config::dbms($dbms);
Config::host($host);
Config::port($port);
Config::database($database);
Config::username($username);
Config::password($password);
并且可以通过调用任一方法来检索详细信息。要获取主机,请调用 Config::host();
如果您已经有一个正在运行的PDO连接,请将其设置为连接
Connection::setPDO($pdo,'client');
启动并运行
获取当前数据库
$db= Connection::currentDatabase(); // $db = [Database()]
您始终可以通过启动一个新的数据库来调用任何数据库;
$db=new Database($db_name);
获取表;
$tables=$db->tables; // An array|Collection of tables i.e. DBTable[]|Tightenco\Collect\Support\Collection
您还可以获取给定数据库的所有列: $db->columns; // DBColumn[]
对于给定的表,您可以使用 $table->columns
来检索列。要从给定的表中获取关系;一对一关系
$table->$foreign_keys_one_to_one; // returns ForeignKey[]
一对多关系
$table->$foreign_keys_one_to_many; // returns ForeignKey[]
随着时间的推移,将添加更多文档...如果感兴趣,请查看通过相应类可访问的变量代码...