filippo-toso / migrations-generator
一个Laravel Artisan命令,用于从数据库表自动生成迁移文件
v1.6.0
2019-10-03 09:21 UTC
Requires
- php: ^7.1.3
- doctrine/dbal: ^2.8
- illuminate/support: >=5.5
- laravel/helpers: ^1.1
README
一个Laravel Artisan命令,用于从数据库表自动生成迁移文件。
要求
- PHP 5.6+
- Laravel 5.4+
- Doctrine DBAL +2.8
安装
使用Composer安装它
composer require filippo-toso/migrations-generator
它是如何工作的?
这个生成器非常简单。它从数据库构建迁移,并将它们保存在数据库文件夹中。
默认情况下,生成器不会创建Laravel表(如作业、缓存等)的模型。您可以通过发布包资源并编辑config/migrations-generator.php文件来修改此行为。
配置
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag=config --provider="FilippoToso\MigrationsGenerator\ServiceProvider"
config/migration-generator.php文件允许您
- 定义要排除的表(例如,缓存、作业、迁移等)
只需打开该文件并阅读注释:)
选项
命令行中的预定义用法是
php artisan generate:migrations
此命令使用当前时间(每个表加一秒)生成迁移。
如果有现有迁移,它们将不会被覆盖。
您可以使用以下参数修改默认行为
php artisan generate:migrations --overwrite
使用覆盖选项,生成器将删除先前生成的具有相同类名的迁移。
php artisan generate:migrations --connection=sqlite
如果您需要,可以指定不同的连接。
工作流程
为了最大限度地利用此包,您应遵循以下工作流程
- 设计数据库(例如,使用MySQL Workbench)
- 在MySQL中执行SQL CREATE语句
- 配置生成器
- 运行生成器
- 在数据库文件夹中自定义迁移
您必须遵循Laravel关于表和列名称的指南,并在SQL语句中包含所有所需的外键和索引。
已知问题
如果您有两个(或更多)相互关联的表,您需要手动将外键定义移动到将在所有表创建之后运行的单独迁移中。