【问题标题】:Database table not created after running plugin:refresh运行插件后未创建数据库表:刷新
【发布时间】:2016-02-26 03:05:12
【问题描述】:

我正在关注this tutorial 创建一个简单的 OctoberCMS 插件。所以我依次执行以下命令:

php artisan create:plugin Acme.Demo  
php artisan create:model Acme.Demo Task  
php artisan plugin:refresh Acme.Demo  

输出:

Rolled back: Acme.Demo  
Reinstalling plugin...  
Acme.Demo  
 - v1.0.1:  First version of Demo  
 - v1.0.2:  Create the TODO Tasks table  

这里是更新文件夹中create_task_table.php的内容:

<?php namespace Acme\Demo\Updates;

use Schema;
use October\Rain\Database\Updates\Migration;

class CreateTasksTable extends Migration
{

    public function up()
    {
        Schema::create('acme_demo_tasks', function($table)
        {
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->string('title')->nullable();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('acme_demo_tasks');
    }

}

根据教程,经过这一步我应该可以在数据库中看到acme_demo_tasks 表,但是我看不到它,并且似乎没有创建表。是不是我做错了什么?

【问题讨论】:

  • 你的更新文件夹中有create_task_table.php吗?
  • 对不起,我打错了,文件名是create_tasks_table.php。确保文件名正确。并在您的 version.yaml 中调用此文件(教程视频中的 4:07)。
  • @JánKyselica 谢谢。问题是我在version.yaml文件中写了“-create_task_table.php”,改成“-create_tasks_table.php”后问题就解决了。我没有注意到 yaml 文件中的 cmets 如此重要,并以这种方式使用。请发表您的评论作为答案,以便我接受。

标签: php mysql laravel laravel-artisan octobercms


【解决方案1】:

查看version.yaml中的数据库迁移文件名,应该是create_tasks_table.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 2013-12-02
    • 2012-07-26
    相关资源
    最近更新 更多