Laravel migration did not work - php

When i give command "php artisan migrate" it gives me error :
base table or view already exists: 1050 table 'users' already exists.
And does not update my DB's table. I rolled back and migrate it again but did not have any effect on DB, I create new project but it gives error too on the this command.

In your migrations make this check first
Schema::hasTable('users');
if you don't have data, you can drop the columns manually first.

I suppose your migration is creating a table users in DB. This error simply means that table users already exits in such DB, so it can't be created.
What you can actually do, is to create a new empty DB or re-create your whole DB in case you can afford loosing your data, which I assume from your post.
Rollback undo only last migration step. You could possibly run:
$ php artisan migrate:rollback --step=2 # rollback two last migrations
or
$ php artisan migrate:reset # rollback all migrations
I suggest you to go through Database: Migrations, so you will gain more knowledge about DB migrations.

Because you ran the migration, there is a reference of the ran migration in the migrations table in your database. You need to manually delete that record in order for you to run the same migration again.
migration table keeps a track of the migration you run. before the migration actually happen Laravel writes a record to migration table.
If an error occur, migration fails but the reference record exists. hence the error
base table or view already exists: 1050 table 'users' already exists.
The easiest way to handle this is, fix the issue with the migration file, remove the reference record from migration table and run the migration again.

Please follow the steps below:
first of all check your current migration status
php artisan migrate:status
skip already imported tables and look for new migration files and remove create statement from your new migration files.
The issue here is that your new migration files may contain create statement rather then alter/drop etc.
once you fix that statement try running
php artisan migrate

Related

when i run the code "php artisan migrate --seed" that's not work completely

when i run this code "php artisan migrate --seed" qppeaer one error like
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'naryn.modules' doesn't exist (SQL: select * from modules where module = admin/backup_v2 limit 1)
Without seeing your database, stacktrace, and code this will be hard to answer.
But is this the first time that you ran the migration? If not, it's possible that you dropped the tables (the modules table specifically), but you did not drop the migration table. If the modules migration record still exists it will not run the migration and will not cause an error, hence going to the seeder even when there's no table migrated.
I would suggest if your still on the development phase and you can still drop the tables, just drop the schema and create it again to make sure it's a clean migration.

php artisan:rollback error in laravel 5.3

I tried building a database where I forgot to place the index of the table. Now I'm trying to rollback the migration but its not working out. It is throwing some error
[ErrorException] Undefined index: 2017_01_06_195028_create_users_themes_table
Now I tried deleting it manually so I deleted the migration file from the database folder and then did composer dump-autoload, and then did rollback it is still showing same error. Also when this didn't happened I tried placing index in the table through phpmyAdmin, it ain't helped! Still i deleted the table manually and tried doing composer dump-autoload and rollback it still has same error.
Help me out with this.
You can backup DB data (if any), drop DB and create it again and run php artisan migrate command. It's the easiest way to fix this I guess.
Another thing you could try is to delete last batch from migrations table and drop tables from last batch and run php artisan migrate
When you do php artisan migrate, migration table is created and it records the order of the migration you run. And when you rollback the list get cleared in the order of rollbacks..
In your case since you got an error the record corresponding to your migration probably still in the migration table.
Now if you wish to update your migration file and migrate again, you needs to manually clear the corresponding record from the migration table. Most probably it would be the last record in the migration table.
Clear out that record, fix your migration file and run your migration. You should be good to go.
I forgot to mention that I'm having my migration files in different folder so everytime I'm doing a php artisan migrate rollback I need to specify the path of those migration file that is why it is showing undefined Index error.

artisan migrate results: SQLSTATE[HY000]: General error: 1005 on LUMEN / LARAVEL

I'm trying to run php artisan migrate command but I am getting the following error.
I have looked at many forums and tried several solutions but nothing solved my problem.
What is going on?
-
Migrations:
http://pastebin.com/mDFa1suK
http://pastebin.com/tFWj9bEd
You can not create "produtos" table with a foreign key reference before creating "categorias" table
i suggest to change to change date in migration files name to re-order migration
so that migration of "categorias" table will run first
i hope that answered the question.
I notice that in your migration files, there are no table name cremasco.#sql-3076_1e but the error showing cannot create that table.
pls check your migration table in you database see if it has the cremasco.#sql-3076_1e. and run this in your command line :
composer dumpautoload then try again to migrate the database php artisan migrate
if the problem still exist then you need to drop your databases, and migrate again.
This problem exist because we deleted the files migration but the
table migration in database still has it
.

migrate command on laravel 5.1 console

I have created many tables use migration file, but I have dropped some table via the mysql command line tool, then I find the migration status about the tables I have dropped is still ran, so how can i fix it?
When I use migrate command, it always says nothing to migrate, but I have no table in my database.
I have tried to delete all the logs and stuff under the storage path.
I have also tried to delete the migration table on mysql or change .env file to use a new database, but both cannot work. Can anyone help me?
I use laravel 5.1.
`Run migrate:rollback (to undo the last migration)
If migrate:rollback doesn't work ; do it manually:
step 1 : delete the migration file
step 2 : composer dump-autoload (for resetting autoload file)
step 3 : remove the last entry from migration(to modify your database)`
The reason you are not able to migrate although you dont have existing tables in database is because your previous migrations still exist. Either clear the history or perform the above steps

Error on php artisan migrate

I have read many post on this subject, but have not found the right answer. When i write any command php artisan migrate returns a result:
[Illuminate\Database\QueryException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'adtmart1.shop_categories' doesn't exist (SQL: select * f
rom `shop_categories`)
[PDOException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'adtmart1.shop_categories' doesn't exist
I would like to move the finished website made using Laravel on the local web server. I use Web server - opensever. There php version - 5.5, Mysql - 5.5. All commands i write of the console opensever. While replying, please, take into consideration that I am new in this field
You use Schema::table to alter an existing table, you are looking for Schema::create which is used to create a new table.
Alter your migrations to use Schema::create and you'll have no trouble running your migrations:
Schema::create('name_of_table', function(Blueprint $table) {
{
$table->increments("id",true);
$table->string("username")->nullable()->default(null);
$table->string("password")->nullable()->default(null);
$table->string("email")->nullable()->default(null);
$table->timestamps();
});
I have of course used dummy columns and you would use your own.
More info on the problem here.
First of all, you'll need to post migration code that causes the error. To do this, try to run migrations one-by-one. Remove all migrations from /database/migrations folder and then add first one (first by date it was created) back into /database/migrations. Then run php artisan migrate. If migrations was successful, do all steps for secons migration etc. When you see an error, you'll know that this one migrations causes it. Post it here please, so we could help.

Categories