angujo/dbreader

提供DB结构接口的数据库接口库

dev-master 2020-04-25 05:37 UTC

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[]

随着时间的推移,将添加更多文档...如果感兴趣,请查看通过相应类可访问的变量代码...