我想在我的包的迁移文件夹中创建迁移文件。如何使用 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"
对于特定目录:
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
您需要将它们从您的包发布到您的迁移文件夹,就像在您的包服务提供程序启动方法中一样:
$this->publishes([
__DIR__.'/Database/migrations/' => database_path('migrations'),
], 'migrations');
运行此命令
php artisan vendor:publish --tag=migrations
之后你就可以运行了
php artisan migrate
你可以运行:
php artisan make:migration --help
并查看所有可供您使用的选项。
看起来您正在创建一个包,并且想知道如何处理数据库迁移。执行此操作的一种方法是使用
php artisan make:migration
命令以通常的方式创建迁移,然后运行迁移以创建必要的表和结构。
创建并运行迁移后,您可以将它们放入包中,方法是将它们放在包的
src/Database/migrations
目录中。这将允许在安装包并运行 php artisan migrate 命令时加载并运行迁移。
为了确保迁移正确加载并运行,您需要在包服务提供商的
boot()
方法中包含以下行:
$this->loadMigrationsFrom(__DIR__ . '/Database/migrations');
这将告诉 Laravel 从包的 src/Database/migrations 目录加载迁移。
需要注意的是
loadMigrationsFrom()
方法是 Laravel 的内置功能,无论迁移是位于用户的 Database/migrations
目录中还是位于包的 src/Database/migrations
目录中,它都允许运行迁移。这将确保在安装软件包并运行 php artisan migrate 命令时正确运行迁移。