laravel数据迁移

laravel执行数据迁移命令:php artisan migrate 出现这个问题

  Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

解决方法

我们可以在 AppServiceProvider.php 文件里的 boot 方法里设置一个默认值:

文件路径: /app/providers/AppServiceProvider.php,加上绿色部分即可

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        Schema::defaultStringLength(191);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

原文链接:https://www.cnblogs.com/richerdyoung/p/9167078.html

原文地址:https://www.cnblogs.com/erdongye/p/12683722.html

时间: 2024-10-11 12:54:45

laravel数据迁移的相关文章

laravel数据迁移(创建错误列不能创建)

创建数据表的命令 php artisan make:migration create_users_table 执行这个迁移的命令, php artisan migrate 其实感觉就像简单的方法创建数据库 这边是laravel5.4的特性要改长度 改这三处就可以了 这个就是把圈中的表删除了再执行一遍 这个是laravel中文学院的命令网址 http://laravelacademy.org/post/130.html

Laravel 数据迁移文件常用方法速查表

一.存储引擎.字符编码相关操作 命令 描述 $table->engine = 'InnoDB'; 指定表的存储引擎(MySQL) $table->charset = 'utf8'; 指定数据表的默认字符集(MySQL) $table->collation = 'utf8_unicode_ci'; 指定数据表的字符序(MySQL) $table->temporary(); 创建临时表(除SQL Server) 二.可用的数据列类型 命令 描述 $table->bigIncrem

laravel框架之数据迁移和数据填充

一.数据迁移 1.创建一个迁移 1>使用artisan命令make:migration来创建一个新的迁移: php artisan make:migration create_sutdents_table 新的迁移位于database/migrations目录下,每个迁移文件名都包含时间戳从而允许Laravel判断其顺序. 2>其他一些选项 --table用来指定表名 php artisan make:migration create_students_table --table=studen

laravel中的数据迁移和数据填充

laravel中的数据迁移和数据填充 标签(空格分隔): php 生成迁移文件两种方式: 1 新建一个表的迁移文件 php artisan make:migration create_students_table --create=students 2 创建模型的时候同时创建迁移文件 php artisan make:model Model\Article -m 创建迁移文件和执行 1 在 up 方法里完成数据表字段的创建 2 执行命令 php artisan migrate 生成填充文件 ph

laravel框架的数据迁移 (摘取)

生成迁移 使用 Artisan make:migration 来创建迁移: php artisan make:migration create_users_table 新的迁移文件会被放置在 database/migrations 目录中.每个迁移文件的名称都包含了一个时间戳,以便让 Laravel 确认迁移的顺序. --table 和 --create 选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表.这些选项需在预生成迁移文件时填入指定的数据表: php artisan m

LARAVEL框架及数据迁移

一.数据迁移三步骤 配置数据库连接 首先在 .env 中配置数据库连接信息,如php连接数据库,需要先选择在那个数据库,然后再进行操作 创建数据库迁移文件 输入如下命令 php artisan make:migration create_post_table   创建文件成功后开始编辑数据内容. public function up() { Schema::create('post', function (Blueprint $table) { $table->increments('id');

laravel数据库迁移(三)

laravel号称世界上最好的框架,数据库迁移算上一个,在这里先简单入个门: laravel很强大,它把表中的操作写成了migrations迁移文件,然后可以直接通过迁移文件来操作表.所以 , 数据迁移文件就是 操作表的语句文件 操作表的语句文件为什么用迁移文件 , 而不直接敲 sql 操作表 ?1.  便于团队统一操作表.2.  出了问题,容易追查问题和回溯,有历史回退功能. 先创建一个库: 配置一下文件,修改.env中的参数 cmd.exe命令行输入如下命令创建一个表的迁移文件:php ar

laravel 数据库迁移报错解决

创建数据迁移 使用 Artisan 命令行的 migrate:make 命令创建一个迁移:(在命令行模式下使用) php artisan migrate:make create_users_table 所有的迁移都被存放在 app/database/migrations 文件夹下,文件以时间戳命名以方便Laravel框架按时间来界定这些文件顺序. 您可以在创建迁移的时候使用 --path 选项,用来指定迁移文件存放的路径.该路径是你安装框架根目录的相对路径: php artisan migrat

Code First Migrations更新数据库结构(数据迁移) 【转】

背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的旧数据库中包含一些测试数据时,当持久化更新后,原数据将全部丢失,故我们可以引入EF的数据迁移功能来完成. 要求 已安装NuGet 过程示例 [csharp] view plaincopyprint? //原model //原model [csharp] view plaincopyprint? us