Laravel 在特定文件夹中创建迁移文件
Laravel create migration file in specific folder
我已经为我的 laravel 项目创建了付款包
我想在我的包的迁移文件夹中制作迁移文件。如何使用 artisan 命令创建它?
我想要
php artisan make:migration packages/Payment/src/Database/add_orderId_to_cart_payment_table
在根文件夹上使用此命令:
创建唯一的迁移文件:
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"
您需要在您的包服务提供商启动方法中像这样将它们从您的包发布到您的迁移文件夹:
$this->publishes([
__DIR__.'/Database/migrations/' => database_path('migrations'),
], 'migrations');
运行 这个命令 php artisan vendor:publish --tag=migrations
然后你可以 运行 php artisan migrate
对于特定目录:
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
你可以运行:
php artisan make:migration --help
并查看所有可供您使用的选项。
看来你在做一个包裹。它与创建迁移的位置无关,只是以常规方式创建迁移,运行 你的迁移,只需将它们放在你的 package/src/Database/migrations/yourMigrations_xxxxxx.php
和你的包 serivce provider
中 boot()
方法写这一行
$this->loadMigrationsFrom(__DIR__ . '/Database/migrations');
laravel 有一个内置方法 loadMigrationsFrom('path/to/migrations')
来获取迁移,当有人安装这个包时,当他 运行 php artisan migrate
它会 运行 所有迁移,无论它们是在用户的 Database/migrations
中还是在您的包中 package/src/Database/migrations/2022_03_29_23424_create_countries_table_.php
,所有迁移都将 运行
我已经为我的 laravel 项目创建了付款包
我想在我的包的迁移文件夹中制作迁移文件。如何使用 artisan 命令创建它? 我想要
php artisan make:migration packages/Payment/src/Database/add_orderId_to_cart_payment_table
在根文件夹上使用此命令:
创建唯一的迁移文件:
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"
您需要在您的包服务提供商启动方法中像这样将它们从您的包发布到您的迁移文件夹:
$this->publishes([
__DIR__.'/Database/migrations/' => database_path('migrations'),
], 'migrations');
运行 这个命令 php artisan vendor:publish --tag=migrations
然后你可以 运行 php artisan migrate
对于特定目录:
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
你可以运行:
php artisan make:migration --help
并查看所有可供您使用的选项。
看来你在做一个包裹。它与创建迁移的位置无关,只是以常规方式创建迁移,运行 你的迁移,只需将它们放在你的 package/src/Database/migrations/yourMigrations_xxxxxx.php
和你的包 serivce provider
中 boot()
方法写这一行
$this->loadMigrationsFrom(__DIR__ . '/Database/migrations');
laravel 有一个内置方法 loadMigrationsFrom('path/to/migrations')
来获取迁移,当有人安装这个包时,当他 运行 php artisan migrate
它会 运行 所有迁移,无论它们是在用户的 Database/migrations
中还是在您的包中 package/src/Database/migrations/2022_03_29_23424_create_countries_table_.php
,所有迁移都将 运行