stats4sd/laravel-sql-views

一个小型包,帮助自动化Laravel项目中MySQL视图的创建和更新。

v1.2.0 2023-10-12 11:06 UTC

README

Latest Version on Packagist Total Downloads StyleCI

一个小型包,帮助自动化MySQL视图和存储过程的创建和更新。

此包允许你在Laravel代码库中存储所需的每个MySQL视图和存储过程的查询定义,并允许你直接编辑SQL查询字符串,而不是使用迁移文件。这在以下情况下很有用

  • 你经常需要使用真实数据创建或更新SQL视图,例如作为数据分析工作流程的一部分。
  • 你有一组复杂的查询,你基本上需要在迁移文件中编写原始查询。

安装

通过Composer

$ composer require stats4sd/laravel-sql-views

使用方法

该包包含一个单个的命令行工具 php artisan updatesql。此命令执行以下两项操作

  1. 它将在你的数据库中创建或更新基于你的 database/views 目录中的文件的SQL视图。它将为每个找到的 .sql 文件创建一个视图,使用文件名作为视图名称,使用内容作为查询定义。
  2. 它将在你的数据库中创建或更新基于你的 database/procedures 目录中的文件的SQL存储过程。它将直接运行该目录中的所有 .sql 文件。目的是包含创建所需存储过程的脚本,但理论上你可以包含任何你想定期运行的SQL代码。

使用方法

  1. 将你的查询定义放在你的 database/views 目录中的.sql文件中。每个视图需要1个文件。不要包含"CREATE OR REPLACE VIEW"部分,只需包含查询定义本身。
  2. 将你想要运行的任何额外的SQL脚本(例如创建存储过程)放入 database/procedures 文件夹。
  3. 运行命令 php artisan updatesql

它将递归搜索文件夹,因此你可以根据需要将视图组织到子文件夹中。

该包附带一个小的配置文件。

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

要禁用自动创建 database/views 和/或 database/procedures 文件夹,你可以添加以下 .env 变量 :-

SQL_VIEWS_REGISTER_VIEWS_FOLDER=false
SQL_VIEWS_REGISTER_PROCEDURES_FOLDER=false

请注意,如果你没有很好地理解此包,禁用文件夹创建将导致你遇到问题。

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅contributing.md以获取详细信息和一个待办事项列表。

安全

如果你发现任何安全相关的问题,请通过作者电子邮件而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证。请参阅许可证文件以获取更多信息。