Um eine Migration für OctoberCMS für ein neues Plugin zu erstellen, wechselt man in der Kommandozeile zuerst in den Ordner von OctoberCMS. Dort führt man dann den Befehl
php artisan create:migration MyName.MyPlugin CreateMyNewTable
Code-Sprache: CSS (css)
aus. Die Werte für MyName
, MyPlugin
und CreateMyNewTable
sollten natürlich angepasst werden. Im Order plugins/myname/myplugin/updates
sollte eine neue Datei zu finden sein, die create_my_new_table.php
heißen müsste (oder zumindest so ähnlich). Die Datei müsste in etwa so aussehen:
<?php namespace StarkesWeb\LiveUserCounter\Updates;
use Schema;
use October\Rain\Database\Schema\Blueprint;
use October\Rain\Database\Updates\Migration;
/**
* CreateVisitorTable Migration
*
* @link https://docs.octobercms.com/3.x/extend/database/structure.html
*/
return new class extends Migration
{
/**
* up builds the migration
*/
public function up()
{
Schema::create('starkesweb_liveusercounter_visitor', function(Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* down reverses the migration
*/
public function down()
{
Schema::dropIfExists('starkesweb_liveusercounter_visitor');
}
};
Code-Sprache: HTML, XML (xml)
Nun kann man in der up()
-Funktion die Spalten eintragen, die man braucht. Da OctoberCMS auf Laravel basiert, lohnt sich ein Blick in die entsprechende Doku.
Damit die Migration auch angewendet ist, muss man diese noch in der updates/version.yaml
Datei eintragen (https://docs.octobercms.com/3.x/extend/system/plugins.html#plugin-version-file):
v1.0.1:
- First version of MyPlugin
- create_my_new_table.php
Code-Sprache: CSS (css)
Wenn die updates/version.yaml
angepasst wurde, muss man noch den Befehl
php artisan plugin:refresh MyName.MyPlugin
Code-Sprache: CSS (css)
aufrufen.