digitaldream / dbreader
数据库读取器
1.4
2017-09-18 17:06 UTC
README
对于某些自动化工具,我们需要了解数据库约束,如表、字段及其索引。但是从数据库中直接获取这些信息非常困难和痛苦。这个工具将使这项任务变得超级简单。
安装
在你的 composer.json 中添加以下行
"require":{ "digitaldream/dbreader":"~1.0" }
设置
在页面顶部设置数据库信息。
\DbReader\Database::settings([ 'database' => "YOUR_DATABASE_NAME", 'username' => "YOUR_DATABASE_USERNAME", 'password' => "YOUR_DATABSE_PASSWORD", // or you can just assign a pdo object via // 'pdo'=> $your_pdo_object //Below are optional columns 'manualRelations' => [ 'tours.start_location' => 'locations.id', 'tours.end_location' => 'locations.id' ], 'ignore' => [], 'protectedColumns' => ['id', 'created_at', 'updated_at'], 'files' => ['users.avatar'] ]);
数据库
$db=new \DbReader\Database(); print_r($db->tables()); // return array of tables // You can also access a individual table object print_r($db->users); // It will return \DbReader\Table Object // Even further print_r($db->users->id) // It will return \DbReader\Column Object
表
$user=new \DbReader\Table('users'); print_r($user->columns()) // return all columns as array of StdClass print_r($user->columnClasses()) // return list of Column Class object as array. Most preferable rather than columns() print_r($user->relations()); // return all the Foreign Relation of a given table. print_r($user->indexes()); // return all the Indexes of given table.
列
$user=new \DbReader\Table('users'); echo $user->email->name(); // name of the column echo $user->email->type(); // type Column data type enum, int, text etc echo $user->email->length(); // return length e.g. 255 for varchar echo $user->email->defaultValue(); echo $user->email->isPk(); echo $user->email->isUnique(); echo $user->email->isNull(); echo $user->email->isForeign();
注意:这是 LaraCrud 的一个子模块 LaraCrud,目前只支持 Mysql 数据库。