将列添加到laravel项目帮助的现有表中

时间:2020-08-10 06:01:40

标签: php laravel

我试图在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');
        });
    }
  1. 我应该以不同的方式运行我的make:migration命令以确保它更改了正确数据库中的正确表吗?

  2. 与此表有关的所有迁移都位于ex的子文件夹下。迁移/客户,因此我想确保它也在子文件夹中创建迁移模板

  3. 当我运行php artisan migration时-会不会尝试再次运行现有的迁移?我不想破坏我的生产系统或放弃任何信息

  4. 我可以专门选择运行哪个迁移以及它是向上功能还是向下功能?

1 个答案:

答案 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功能。