From eda622cb3b37c401f74be60b21d3a9a3fb34c440 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 4 Jan 2016 16:00:32 +0100 Subject: Migrations: stems, tenses, roots, verbs, translations --- .../2016_01_04_143639_create_stems_table.php | 31 ++++++++++++++++ .../2016_01_04_143647_create_tenses_table.php | 32 ++++++++++++++++ .../2016_01_04_143655_create_roots_table.php | 32 ++++++++++++++++ .../2016_01_04_143702_create_verbs_table.php | 43 ++++++++++++++++++++++ ...01_04_144049_create_root_translations_table.php | 36 ++++++++++++++++++ 5 files changed, 174 insertions(+) create mode 100644 database/migrations/2016_01_04_143639_create_stems_table.php create mode 100644 database/migrations/2016_01_04_143647_create_tenses_table.php create mode 100644 database/migrations/2016_01_04_143655_create_roots_table.php create mode 100644 database/migrations/2016_01_04_143702_create_verbs_table.php create mode 100644 database/migrations/2016_01_04_144049_create_root_translations_table.php (limited to 'database/migrations') 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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +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'); + } +} -- cgit v1.2.3