无法创建表格。

时间:2017-11-29 04:56:46

标签: octobercms

我是10月份的新手,我遇到了一个我无法解决的问题。当我从命令行创建插件并运行插件:刷新时,不会创建数据库中的表。

根据文档,version.yaml是正确的。以下是文件的内容。 插件/ Mejlak / PropertyExtender /更新/ create_extras_table.php

<?php namespace Mejlak\Propertyextender\Updates;

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

class CreateExtrasTable extends Migration
{
    public function up()
    {
        Schema::create('mejlak_propertyextender_extras', function(Blueprint $table) {
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->string('title');
            $table->timestamps();
        });
    }

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

这是version.yaml

1.0.1: 
    - 'First version of propertyextender'
    - create_extras_table.php

任何帮助都将受到高度赞赏

4 个答案:

答案 0 :(得分:0)

我想根据@OsDev的建议,目录名称可能存在问题。

你给我们更新的路径是

  

插件/ Mejlak / PropertyExtender /更新/ create_extras_table.php

所以在这种情况下你可以纠正一些文件夹名称

我不确定,但你的所有文件夹名称都以大写字母开头,在十月cms中所有文件都是小写的,所以你的路径应该是

  

<强>插件/ mejlak / propertyextender /更新 /create_extras_table.php

并且命名空间中的是正确的,因此无需更改

  

命名空间 Mejlak \ Propertyxtender \ Updates

然后尝试一下,如果仍然不起作用请发表评论。

答案 1 :(得分:0)

您能否确认您尝试运行的插件刷新命令?

php artisan plugin:refresh Mejlak.Propertyextender

答案 2 :(得分:0)

将您的version.yaml更改为:

1.0.1: First version of propertyextender
1.0.2: 
  - create tables
  - create_extras_table.php

我不知道为什么命令在第一个插件版本上不起作用。而且,您还必须将-创建表放在create_tablename_table.php文件列表之前。

答案 3 :(得分:-1)

无需手动创建迁移文件/表。使用“ https://octobercms.com/plugin/rainlab-builder”,您可以在几分钟之内创建功能齐全的插件支架。

1)安装插件 2)转到Builder-> Create plugin-> create enter image description here 3)从数据库添加表 enter image description here 4)保存并应用迁移文件 enter image description here 您的插件现在已经创建了一个表格。