我试图在laravel项目中的现有表(mysql)中添加一列,但是我有几个问题
我运行命令php artisan make:migration add_time_to_customers --table = customers 这显然会创建我的新迁移模板
public function up()
{
Schema::table('customers', function (Blueprint $table) {
//
});
}
但是我在此实例上有一些数据库,因此我担心此新迁移适用于正确的数据库和表吗? 我已经检查了上一列“添加迁移”,是否看到了需要更改的实际数据库的引用?
public function up()
{
Schema::connection('customer_db')->table('customers', function (Blueprint $table) {
$table->integer('lists');
});
}
我应该以不同的方式运行我的make:migration命令以确保它更改了正确数据库中的正确表吗?
与此表有关的所有迁移都位于ex的子文件夹下。迁移/客户,因此我想确保它也在子文件夹中创建迁移模板
当我运行php artisan migration时-会不会尝试再次运行现有的迁移?我不想破坏我的生产系统或放弃任何信息
我可以专门选择运行哪个迁移以及它是向上功能还是向下功能?
答案 0 :(得分:0)
1-我是否应该以其他方式运行我的make:migration命令以确保它会更改正确数据库中的正确表?
答案:php artisan migration --database = customer_db //您需要 将其添加到您的database.php配置文件中
2-与该表有关的所有迁移也位于ex的子文件夹下。迁移/客户,因此我想确保它也在子文件夹中创建迁移模板
ANS:php工匠make:migration create_users_table --path = / app / database / migrations / customers
3-当我运行php artisan migration时-不会再尝试运行现有的迁移吗?我不想破坏我的生产系统或放弃任何信息
ANS:php artisan migration仅运行未迁移的文件,您也可以 指定要迁移的文件或路径
4-我能否具体选择要运行的迁移以及它是向上功能还是向下功能?
ANS:是的,php artisan migration --path = / database / migrations / fileName.php 有时这不起作用,因此您可以将所需的迁移放入 子文件夹,并使用子文件夹的路径运行它。关于下降和 up函数php artisan migration始终运行up函数。的PHP artisan migrate:rollback始终运行down功能。