Skip to content

stats4sd/laravel-sql-views

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SqlViews

Latest Version on Packagist Total Downloads StyleCI

A small package to help automate the creation and updating of MySQL views.

This package lets you store the query definition for every MySQL view you need within your Laravel codebase, and lets you edit the SQL query strings directly instead of using migration files. This is useful when:

  • You regularly create or update SQL views with real data, e.g. as part of a data analysis workflow.
  • You have a set of complex queries that would involve you basically writing out the raw query within a migration file anyway.

Installation

Via Composer

$ composer require stats4sd/laravel-sql-views

Usage

The package includes a single console command that will create or update the SQL views in your database based on the files within your database/views directory. It will create a view for every .sql file it finds, using the filename as the view name and the contents as the query definition.

To use:

  1. Place your query definitions within .sql files inside your database/views directory. You need 1 file per view. Do not include the "CREATE OR REPLACE VIEW" segment, just include the query definition itself.
  2. Run the command with php artisan updatesql.

It will search the folder recursively, so you can organise your views into subfolders if you wish.

The packge comes with a tiny config file.

php artisan vendor:publish --tag=sqlviews.config 

To disable the automatic creation of either the database/views and/or database/procedures folder(s) you can add the following .env variables :-

SQL_VIEWS_REGISTER_VIEWS_FOLDER=false SQL_VIEWS_REGISTER_PROCEDURES_FOLDER=false 

Please note that disabling folder creation without a good understanding of this package will cause you issues.

Change log

Please see the changelog for more information on what has changed recently.

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

MIT license. Please see the license file for more information.

About

A Laravel Package to let you manage MySQL views using .sql files stored within your project.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages