درود دوستان...
طبق آموزش زیر فایل AppServiceProvider.php را دستکاری کردم ولی بازم ارورر ارتباط به دیتابیس می دهد مشکل از کجاست؟
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
ارورر ارتباط به دیتابیس:
[Illuminate\Database\QueryException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
ady exists (SQL: create table `users` (`id` int unsigned not null auto_incr
ement primary key, `name` varchar(191) not null, `email` varchar(191) not n
ull, `password` varchar(191) not null, `remember_token` varchar(100) null,
`created_at` timestamp null, `updated_at` timestamp null) default character
set utf8mb4 collate utf8mb4_unicode_ci)
[PDOException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
ady exists
این ارور که میگه جدول از قبل وجود داره باید دستی بری حذفش کنی
ولی قبلا گفته بودم که چجوری کلا از شر این مشکل 191 خلاص بشی:
این مشکلی که با ۱۹۱ قرار دادن طول رشته حل میشه به دلیل اینه که mariadb که درون xampp قرار داره ورژنش ۱۰.۱.۲۶ هستش و چون لاراول ۵.۴ از utf۸mb۴ برای ذخیره emojis استفاده میکنه به دو صورت میشه این مشکل رو کاملا حل کرد
۱- روش اول اینکه بیایم mariadb رو آپدیت کنیم به ۱۰.۲.۸ که کامل مشکل حل شه با آپدیت mariadb به نسخه ۱۰.۲.۲۸ کاملا این مشکل حل میشه .
۲- روش دوم اینکه کدهای زیر رو داخل my.ini (داخل پوشه mysql/bin) ذخیره کنیم و در آخر mariadb رو ریستارت کنیم:
[mysqld]
# default character set and collation
collation-server = utf۸mb۴_unicode_ci
character-set-server = utf۸mb۴
# utf۸mb۴ long key index
innodb_large_prefix = ۱
innodb_file_format = barracuda
innodb_file_format_max = barracuda
innodb_file_per_table = ۱
[mysql]
default-character-set=utf۸mb۴
به نظرم روش دوم رو بری خیلی راحت تری
ولی اگه میخوای آپدیت کنی
اول باید دیتابیس هایی که ایجاد کردی رو export کنی که بتونی توی mariadb جدید import کنی و داده ها از بین نره (توسطphpMyadmin گزینه export)
بعدش پوشه xampp/mysql رو تغییر نام بده مثلا mysqlBackup واسه اطمینان
از ادرس https://mariadb.com/downloads/mariadb-tx نسخه 10.2.9 رو دانلود کن
بعد هم موقع نصب mariadb آدرس /xampp/mysql رو بده و در آخر هم my.ini رو از mysqlBackup/bin (دیتابیس قبلی) کپی کن توی mysql/bin بعد هم تمام
البته یه چیزم بگم که میشد بذاری همون جای پیشفرض نصب شه ولی چون مطمئنن از xampp استفاده میکنید بهتره که همون جای اصلیش نصب شه
و دیگه نیاز نباشه بری پارامترا رو تغییر بدی
در آخر هم که باید همه چیزو import کنی
:))))
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟