Laravel Migration Table Already Exists, But I Want to Add New Not the Older

Laravel Migration table already exists, but I want to add new not the older

You need to run

php artisan migrate:rollback

if that also fails just go in and drop all the tables which you may have to do as it seems your migration table is messed up or your user table when you ran a previous rollback did not drop the table.

EDIT:

The reason this happens is that you ran a rollback previously and it had some error in the code or did not drop the table. This still however messes up the laravel migration table and as far as it's concerned you now have no record of pushing the user table up. The user table does already exist however and this error is throw.

Laravel Migration table already exists, but I want to add new not the older

You need to run

php artisan migrate:rollback

if that also fails just go in and drop all the tables which you may have to do as it seems your migration table is messed up or your user table when you ran a previous rollback did not drop the table.

EDIT:

The reason this happens is that you ran a rollback previously and it had some error in the code or did not drop the table. This still however messes up the laravel migration table and as far as it's concerned you now have no record of pushing the user table up. The user table does already exist however and this error is throw.

Laravel Migration: Base table or view already exists

The exception throws when you run migration command php artisan migrate because migration actually wants the parent tables first, and then the child tables when there are relationships in between them.

Solution

In your case,

  • in /migrations/ directory rename your migration files so that the parent migration table timestamp appears before the child table's migration, and
  • update the migrations table using the following command (before running that, find respective the row id and place it in ?)
UPDATE `migrations` SET `migration`='2016_08_31_104213_create_financial_years_table' WHERE `id`= ?;

Even if i migrate:fresh it shows me that the table already exists.. why?

First drop roles table using this code Schema::dropIfExists('roles'); then create.

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateRolesTable extends Migration
{
public function up()
{
Schema::dropIfExists('roles'); //added
Schema::create('roles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->tinyInteger('status');
});
}

public function down()
{
Schema::dropIfExists('roles');
}
}

How to run migrations even if the table already exist?

Check if the table already exists:

if (Schema::hasTable('categories')) {
// The "categories" table exists...
}

If you want to alter the table, you can add columns or edit existing ones. Check out column modifiers https://laravel.com/docs/9.x/migrations#column-modifiers

Laravel - php artisan migrate, table already exists

I think did migrate but fail/error on foreign key or something like that, so table created but migration fails and not saved on migrations table. You just need to delete table packings manually in the SQL command or DB management like PHPMyAdmin.

Cannot declare class AddTripsIdToEvents, because the name is already in use

above error is shown because you have same migration class name. just change one to another name and don't forget to change the file name too.

table 'users' already exists laravel when migrate laravel

In the Migration part of the up function, type this line at the beginning
if(Schema::hasTable('users')) return;



Related Topics



Leave a reply



Submit