Laravel 在特定文件夹中创建迁移文件

Posted

技术标签:

【中文标题】Laravel 在特定文件夹中创建迁移文件【英文标题】:Laravel create migration file in specific folder 【发布时间】:2019-12-05 10:01:25 【问题描述】:

我已经为我的 laravel 项目创建了支付包

我想在我的包的迁移文件夹中制作迁移文件。如何使用工匠命令创建它? 我想要类似的东西

php artisan make:migration packages/Payment/src/Database/add_orderId_to_cart_payment_table

【问题讨论】:

【参考方案1】:

在根文件夹上使用此命令:

创建唯一的迁移文件:

php artisan make:migration create_products_table --create=products

创建迁移,模型文件:

php artisan make:model Product -m

对于创建迁移、模型、控制器文件:

php artisan make:model Product -mcr

如果您想手动操作,可以根据您的文件夹要求设置--path

php artisan make:migration filename --path=/app/database/migrations/relations
php artisan make:migration filename --path=/app/database/migrations/translations

如果你想迁移,那么:

php artisan migrate --path="/app/database/migrations/relations"

【讨论】:

【参考方案2】:

对于特定目录:

php artisan make:migration create_users_table --path=/packages/Payment/src/Database

新的迁移将放置在您的 packages/Payment/src/Database 目录中。

对于运行迁移:php artisan migrate --path=/packages/Payment/src/Database


使用内置框架功能生成迁移:

php artisan make:migration create_users_table

新的迁移将放置在您的 database/migrations 目录中。

对于运行迁移:php artisan migrate

【讨论】:

【参考方案3】:

你需要在你的包服务提供商启动方法中将它们从你的包发布到你的迁移文件夹中:

  $this->publishes([
        __DIR__.'/Database/migrations/' => database_path('migrations'),
    ], 'migrations');

运行这个命令php artisan vendor:publish --tag=migrations

然后你可以运行php artisan migrate

【讨论】:

我知道如何发布和迁移。我要制作,创建迁移文件【参考方案4】:

你可以运行:

php artisan make:migration --help 并查看所有可供您使用的选项。

【讨论】:

以上是关于Laravel 在特定文件夹中创建迁移文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从迁移中创建 Laravel 模型?

如何在 Laravel 迁移中创建自引用关系(外键)?

Laravel 5.5 中的迁移问题

在 Laravel 中创建用户表

如何在 laravel 中创建文件夹

Laravel 不会在刷新时在“迁移”表中创建记录