繁体   English   中英

Laravel添加迁移新表

[英]Laravel Add new Table with migrate

我创建了一个Laravel项目,我在Migrate中添加了几个表。 它工作正常。 这些表已有数据。 现在我需要另一个表,我尝试使用此命令添加它:

php artisan make:migration create_books_table

它正在工作并在\\ database \\ migrations中添加文件....然后我在up()函数中添加了schema。 但是当我运行命令时,

php artisan migrate

它不起作用,给出错误基表或视图已经存在。

请帮忙。 我对laravel很新。 谢谢

迁移代码..

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateBooksTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('books', function(Blueprint $table)
        {
            $table->increments('id');
            $table->string('name');
            $table->text('description');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('books');
    }

}

Laravel有一个名为migration的表。 它用于保存有关何时创建表的信息,因此工匠可以回滚到另一个点。 如果手动删除表,则迁移表中的条目仍然存在。 如果删除数据库中的所有表并再次迁移它应该可以工作。

在“database / migrations /”中创建新文件夹,并在迁移时使用“path”属性。迁移表后,可以将迁移文件移回常用文件夹。

php artisan migrate --path=/database/migrations/new folder/ 

您需要删除数据库中现有的“books”表;

该表已经存在,因此不会再次创建。

或者,如果您在其他表中没有太多数据运行

php artisan migrate:fresh

这将回滚先前的表迁移并重新迁移它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM