aboutsummaryrefslogtreecommitdiff
path: root/database/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'database/migrations')
-rw-r--r--database/migrations/2016_01_04_143639_create_stems_table.php31
-rw-r--r--database/migrations/2016_01_04_143647_create_tenses_table.php32
-rw-r--r--database/migrations/2016_01_04_143655_create_roots_table.php32
-rw-r--r--database/migrations/2016_01_04_143702_create_verbs_table.php43
-rw-r--r--database/migrations/2016_01_04_144049_create_root_translations_table.php36
5 files changed, 174 insertions, 0 deletions
diff --git a/database/migrations/2016_01_04_143639_create_stems_table.php b/database/migrations/2016_01_04_143639_create_stems_table.php
new file mode 100644
index 0000000..1a2cbe0
--- /dev/null
+++ b/database/migrations/2016_01_04_143639_create_stems_table.php
@@ -0,0 +1,31 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateStemsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('stems', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('name', 24)->unique();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('stems');
+ }
+}
diff --git a/database/migrations/2016_01_04_143647_create_tenses_table.php b/database/migrations/2016_01_04_143647_create_tenses_table.php
new file mode 100644
index 0000000..e4ed023
--- /dev/null
+++ b/database/migrations/2016_01_04_143647_create_tenses_table.php
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateTensesTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('tenses', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('name', 24)->unique();
+ $table->string('abbreviation', 6)->unique();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('tenses');
+ }
+}
diff --git a/database/migrations/2016_01_04_143655_create_roots_table.php b/database/migrations/2016_01_04_143655_create_roots_table.php
new file mode 100644
index 0000000..1828bfd
--- /dev/null
+++ b/database/migrations/2016_01_04_143655_create_roots_table.php
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateRootsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('roots', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('root', 24)->collate('utf8_general_ci')->unique();
+ $table->boolean('strong');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('roots');
+ }
+}
diff --git a/database/migrations/2016_01_04_143702_create_verbs_table.php b/database/migrations/2016_01_04_143702_create_verbs_table.php
new file mode 100644
index 0000000..6449020
--- /dev/null
+++ b/database/migrations/2016_01_04_143702_create_verbs_table.php
@@ -0,0 +1,43 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateVerbsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('verbs', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('verb', 24)->collate('utf8_general_ci');
+ $table->string('root', 24)->collate('utf8_general_ci');
+ $table->string('stem', 24);
+ $table->string('tense', 24);
+ $table->enum('person', [1,2,3])->nullable();
+ $table->enum('gender', ['m', 'f']);
+ $table->enum('number', ['s', 'p']);
+ $table->timestamps();
+
+ $table->unique(['verb', 'root', 'stem', 'tense', 'gender', 'number']);
+
+ $table->foreign('root')->references('root')->on('roots');
+ $table->foreign('stem')->references('name')->on('stems');
+ $table->foreign('tense')->references('name')->on('tenses');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('verbs');
+ }
+}
diff --git a/database/migrations/2016_01_04_144049_create_root_translations_table.php b/database/migrations/2016_01_04_144049_create_root_translations_table.php
new file mode 100644
index 0000000..160fe32
--- /dev/null
+++ b/database/migrations/2016_01_04_144049_create_root_translations_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateRootTranslationsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('root_translations', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('root', 24)->collate('utf8_general_ci');
+ $table->string('translation', 63);
+ $table->timestamps();
+
+ $table->unique(['root', 'translation']);
+
+ $table->foreign('root')->references('root')->on('roots');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('root_translations');
+ }
+}