Ahoj, Nevim cim to, ale kdyz dam prikaz artisan migrate tak mi to vyhodi chyby a nevytvori vsechny tabulky a to chci jen vytvorit ty co uz jsou prednastaveny od laravelu (user, failed_jobs...) Microsoft Windows [Verze 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Všechna práva vyhrazena.
w:\008>php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Illuminate\Database\QueryException
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
at W:\008\vendor\laravel\framework\src\Illuminate\Database\Connection.php:671
667▕ // If an exception occurs when attempting to run a query, we'll format the error
668▕ // message to include the bindings with SQL, which will make this exception a
669▕ // lot more helpful to the developer instead of just the database's errors.
670▕ catch (Exception $e) {
➜ 671▕ throw new QueryException(
672▕ $query, $this->prepareBindings($bindings), $e
673▕ );
674▕ }
675▕
}
675▕
1 W:\008\vendor\laravel\framework\src\Illuminate\Database\Connection.php:464
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes")
2 W:\008\vendor\laravel\framework\src\Illuminate\Database\Connection.php:464
PDOStatement::execute()
Nekde sem udelal chybu nechapu
To možeš ľahko zmeniť. Registrácia je zdarma a ako registrovaný člen získaš množstvo výhod. Prečítaj si prečo by si mal byť členom.
Prihlásiť sa ZaregistrovaťJe to tym, ze Laravel defaultne pouziva kodovanie utf8mb4
a v MySQL v. < 5.7.7 a MariaDB < 10.2.2 sa tam tieto kluce nezmestia.
Jednoduchy fix je zavolat v boot
metode v AppServiceProvider
toto:
Schema::defaultStringLength(191);
cim sa zabezpeci nastavenie pozadovanej dlzky indexov.
Viac info tu: https://laravel.com/docs/7.x/migrations#creating-indexes (Index Lengths & MySQL / MariaDB)