Laravel 创建指定表 migrate的例子

网上找了很多资料,都很坑爹,说是要把之前的表都给删掉,然后重新运行,有的说要指定database的文件路径,都不管用。

php artisan migrate:reset
php artisan migrate

这样的话我之前的数据不都是白搞的了??

这样肯定不行的啊,我就自己摸索,然后发现其实可以直接创建指定的表,运行thinker,然后运行up方法即可!示例代码如下:

这个需要设置composer.json里面的自动加载,需要加载database/migrations这个文件夹下面的文件:

....
  "autoload": {
    "classmap": [
      "database/seeds",
      "database/migrations",
      "database/factories"
    ],
    ....
PS D:\phpStudy\WWW\BCCAdminV1.0> php artisan tinker
Psy Shell v0.7.2 (PHP 7.1.9 — cli) by Justin Hileman
>>> (new CreateAccessLogsTable)->up();
=> null
>>>  

运行出来个null,我还想着估计完蛋了,但是i还是去数据库看了一眼,你猜怎么着,还真的成功了!

  public function up() {
    // Schema::dropIfExists('users');
    Schema::create('access_logs', function (Blueprint $table) {
      $table->increments('id');
      $table->string('ip')->default('0')->comment('ip地址');
      $table->integer('customer_id')->default('0')->comment('用户ID');
      $table->string('refer_website')->default('')->comment('来源网站');
      $table->string('broswer')->default('')->comment('客户端浏览器');
      $table->string('operating_system')->default('')->comment('客户端操作系统');
      $table->string('resolution')->default('')->comment('客户端分辨率');
      $table->string('visited_page')->default('')->comment('被访问的页面');
      $table->timestamp('created_at');
      $table->timestamp('left_at');
    });
  }

批量生成假数据:

https://www.jb51.net/article/171449.htm

以上这篇Laravel 创建指定表 migrate的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持黑区网络。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5516.html