【发布时间】: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