vcian/
laravel-db-auditor
g4t.io

Audit MySQL Databases in Laravel With the DB Auditor Package

287 stars by Paul Redmond

Database DB Auditor provide leverage to audit your MySql,sqlite, PostgreSQL database standards and also provide options to add constraints in table.

README from vcian/laravel-db-auditor Open on GitHub →

Packagist License Total Downloads

Introduction

  • This package provides to audit process of reviewing and evaluating a mysql, sqlite and postgresql database system.
  • DB Auditor scan your mysql/sqlite/postgresql database and give insights of standards, constraints and provide option to add the constraints through CLI.
  • The result of audit process shows list of tables & columns which doesn't have proper standards.

Installation & Usage

Requires PHP 8.0+ | Laravel 8.0+

Require Laravel DB Auditor using Composer:

composer require --dev vcian/laravel-db-auditor

Usage:

You can access DB Auditor using below artisan commands.

php artisan db:audit

This command give you options to select feature like check the database standards or check the constraint.

Now, you can skip tables which you don't want to check. Add skip table name in the .db-auditor.php file.

Note:

If you want to check standalone feature then you can execute below artisan command one by one.

php artisan db:constraint

This command gives you result with list of tables with primary,foreign,unique,index constraint.

You can add more constraint to the table by seeing existing constraint with table.

Below example give insights about the how to see constraints in table and how to add.

Note :-

  • SQLite does not allow to define PRIMARY KEY or FOREIGN KEY into a existing table.
  • Add constraint option is not support for PostgreSQL. Will release soon.

php artisan db:standard

This command give you result with list of table with standard follow indication.

You can also see table specific column name which doesn't have standard followed.

Below example give insights of database standards reports and suggestions.


php artisan db:track

This command give you the track of the database files. Like when it's created with how many field in which table or whom created. this type of information show in the result.

You can also filter with --table=, --action=, --status=. Note: "created by" return the github username and if it's not git repo than it shows system username.

Note:

You have to set your database name with DB_DATABASE parameter in you laravel .env file to use this feature.

ACCESS WEB PAGE

You can also access this feature through WEB UI. To access web UI, kindly execute below command.

php artisan vendor:publish --tag=public

select "db-auditor"

Route - To access the web UI "/laravel-db-auditor"

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

   We believe in 
        👇
      ACT NOW
  PERFECT IT LATER
CORRECT IT ON THE WAY.

Security

If you discover any security-related issues, please email ruchit.patel@viitor.cloud instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News