我正在运行全新的Laravel安装,其中包含干净的数据库和文件。
我创建了一个名为“ frooth”的表,它具有列id,标题和created_at(id PK,varchar和datetime)
当我运行“ php artisan make:migration frooth”命令时,创建的迁移文件为空,仅包含up()和down()函数,仅包含任何内容(无列)
如何解决此问题,我遵循了官方网站上记录的框架的基本配置,因此可以按预期方式在artisan中访问和创建功能,只是无法进行迁移。
我使用以下命令生成了项目:composer create-project --prefer-dist laravel / laravel博客
create table laravel.frooth
(
id int auto_increment
primary key,
title varchar(250) null,
created_at datetime null
);
在database / migrations / 2019_10_25_012925_frooth.php中生成的PHP类:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class Frooth extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
控制台输出:
php artisan make:migration frooth
Created Migration: 2019_10_25_012925_frooth
答案 0 :(得分:0)
删除您手动创建的表并删除该迁移文件。
运行php artisan make:migration create_frooths_table
然后将您的列添加到新的迁移文件中。
类似的东西:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class Frooth extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('frooths', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('frooths');
}
}
然后运行php artisan migrate
对于id
,如果使用Laravel 6,则可能需要使用$table->bigIncrements('id');