عدم اجرای migrate برای ثبت تغییرات

پرسیده شده
فعالیت 1013 روز پیش
دیده شده 447 بار
0

C:\Users\M\Desktop\blog>php artisan migrate
Migrating: 2014_10_12_000000_create_users_table

  Illuminate\Database\QueryException

 SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table `users` (`id` bigint unsigned not null auto_increment pr
imary key, `name` varchar(255) not null, `email` varchar(255) not null, `email_verified_at` timestamp null, `password` varchar(255) not null, `remember_token` varc
har(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

 at C:\Users\M\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:678
   674▕         // If an exception occurs when attempting to run a query, we'll format the error
   675▕         // message to include the bindings with SQL, which will make this exception a
   676▕         // lot more helpful to the developer instead of just the database's errors.
   677▕         catch (Exception $e) {
 ➜ 678▕             throw new QueryException(
   679▕                 $query, $this->prepareBindings($bindings), $e
   680▕             );
   681▕         }
   682▕
    }
   682▕


 1   C:\Users\M\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:471
     PDOException::("SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists")

 2   C:\Users\M\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:471
     PDOStatement::execute()

C:\Users\M\Desktop\blog>
 

فایل پیوست

mohammad dadkhah
mohammad dadkhah

26 خرداد 00

1
حذف شده

دوست عزیز شما یکبار مایگریشن رو اجرا کردین و صفحه خطا داره به شما میگه که جدول کاربران قبلا ساخته شده ولی شما میخواین دوباره اینکار رو انجام بدین ,‘,,

 

اول از دستور php artisan migrate:rollback

مایگریشن ایجاد شده رو برگردونید

 

دوم تغییرات مد نظرتون رو در کلاس مایگریشن تایپ کنید

 

سوم دوباره دستور php artisan migrate رو اجرا نمایید

فایل پیوست

رضا *

توسط

رضا *

27 خرداد 00

0
حذف شده

سلام ,

 

به نظر میرسه که شما مایگرشن خودتون رو اجرا کردید , اگر قصد دارید ساختار جداولتون رو تغییر بدید بهتره که یک مایگریشن جدید مثل

php artisan make:migration add_x_cloumn_to_users_table --table=users

.بسازید

اینطوری شما مستندات تغییرات جداول دیتابیس رو در اختیار خواهید داشت.

 

لاراول این امکان رو به شما می ده که مایگرشن های اجرا شده رو تغییر بدید و دوباره اجرا کنید اما اینکار باعث می شه که در آینده مستندات خوبی از تغییرات جداولتون نداشته باشید.

(هدف از  ساخت مایگرشن ها همین مستندات هست تا این که بدونیم توی یک تیم ,  چه کسی در ساختار جداول تغییر ایجاد کرده )

برای اجرای دوباره تمامی مایگریشن ها از دستور استفاده کنید.

php artisan migrate:fresh

.برای اطلاعات بیشتر این لینک مطالعه کنید

فایل پیوست

Faraz salehi

توسط

Faraz salehi

29 خرداد 00