首页 > 技术文章 > laravel框架数据迁移

binxyz 2017-07-18 22:09 原文

迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构。如果你曾经告知小组成员需要手动添加列到本地数据库结构,那么这正是数据库迁移所致力于解决的问题。

Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供一致的、优雅的、平滑的 API。

 

laravel默认有两个文件uses  和 password_resets                                                                   laravel风格数据库名都是复数

执行php artisan migrate

会生成一个migrations文件和users表,password_resets由于错误未生成

解决方法:

手动配置迁移命令migrate生成的默认字符串长度,在AppServiceProvider中调用Schema::defaultStringLength方法来实现配置:

     use Illuminate\Support\Facades\Schema;
    /**
   * Bootstrap any application services.
   *
   * @return void
   */
    public function boot()
    {
       Schema::defaultStringLength(191);
    }

同时删除数据库中的users表 
重新执行  php artisan migrate


生成迁移

php artisan make:migration create_students_table --create=students  创建一个迁移文件  在database/migrations中

执行   php artisan migrate

会发生次错误 

执行如下命令

删除存在的表,然后执行  composer dump-autoload 命令

然后执行 php artisan migrate 命令就行了

 

推荐阅读