diff --git a/database/migrations/2016_06_16_000002_create_main_tables.php b/database/migrations/2016_06_16_000002_create_main_tables.php index 003bc03d2f..c83c97a730 100644 --- a/database/migrations/2016_06_16_000002_create_main_tables.php +++ b/database/migrations/2016_06_16_000002_create_main_tables.php @@ -290,103 +290,6 @@ class CreateMainTables extends Migration } - private function createJournalTables() - { - if (!Schema::hasTable('transaction_journals')) { - Schema::create( - 'transaction_journals', function (Blueprint $table) { - $table->increments('id'); - $table->timestamps(); - $table->softDeletes(); - - $table->integer('user_id', false, true); - $table->integer('transaction_type_id', false, true); - $table->integer('bill_id', false, true)->nullable(); - $table->integer('transaction_currency_id', false, true); - - $table->string('description', 1024); - - $table->date('date'); - $table->date('interest_date')->nullable(); - $table->date('book_date')->nullable(); - $table->date('process_date')->nullable(); - - $table->integer('order', false, true); - $table->integer('tag_count', false, true); - - $table->boolean('encrypted')->default(1); - $table->boolean('completed')->default(1); - - // links to other tables: - $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); - $table->foreign('transaction_type_id')->references('id')->on('transaction_types')->onDelete('cascade'); - $table->foreign('bill_id')->references('id')->on('bills')->onDelete('set null'); - $table->foreign('transaction_currency_id')->references('id')->on('transaction_currencies')->onDelete('cascade'); - } - ); - } - - if (!Schema::hasTable('journal_meta')) { - Schema::create( - 'journal_meta', function (Blueprint $table) { - $table->increments('id'); - $table->timestamps(); - $table->integer('transaction_journal_id', false, true); - $table->string('name', 255); - $table->text('data'); - $table->string('hash', 64); - - $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); - } - ); - } - } - - private function createMoreJournalTables() - { - if (!Schema::hasTable('tag_transaction_journal')) { - Schema::create( - 'tag_transaction_journal', function (Blueprint $table) { - $table->increments('id'); - $table->integer('tag_id', false, true); - $table->integer('transaction_journal_id', false, true); - - $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade'); - $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); - - - } - ); - } - - if (!Schema::hasTable('budget_transaction_journal')) { - Schema::create( - 'budget_transaction_journal', function (Blueprint $table) { - $table->increments('id'); - $table->integer('budget_id', false, true); - $table->integer('transaction_journal_id', false, true); - - $table->foreign('budget_id')->references('id')->on('budgets')->onDelete('cascade'); - $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); - } - ); - } - - if (!Schema::hasTable('category_transaction_journal')) { - Schema::create( - 'category_transaction_journal', function (Blueprint $table) { - $table->increments('id'); - $table->integer('category_id', false, true); - $table->integer('transaction_journal_id', false, true); - - $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade'); - $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); - } - ); - } - - } - /** * */ @@ -594,8 +497,95 @@ class CreateMainTables extends Migration */ private function createTransactionTables() { - $this->createJournalTables(); - $this->createMoreJournalTables(); + if (!Schema::hasTable('transaction_journals')) { + Schema::create( + 'transaction_journals', function (Blueprint $table) { + $table->increments('id'); + $table->timestamps(); + $table->softDeletes(); + + $table->integer('user_id', false, true); + $table->integer('transaction_type_id', false, true); + $table->integer('bill_id', false, true)->nullable(); + $table->integer('transaction_currency_id', false, true); + + $table->string('description', 1024); + + $table->date('date'); + $table->date('interest_date')->nullable(); + $table->date('book_date')->nullable(); + $table->date('process_date')->nullable(); + + $table->integer('order', false, true); + $table->integer('tag_count', false, true); + + $table->boolean('encrypted')->default(1); + $table->boolean('completed')->default(1); + + // links to other tables: + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('transaction_type_id')->references('id')->on('transaction_types')->onDelete('cascade'); + $table->foreign('bill_id')->references('id')->on('bills')->onDelete('set null'); + $table->foreign('transaction_currency_id')->references('id')->on('transaction_currencies')->onDelete('cascade'); + } + ); + } + + if (!Schema::hasTable('journal_meta')) { + Schema::create( + 'journal_meta', function (Blueprint $table) { + $table->increments('id'); + $table->timestamps(); + $table->integer('transaction_journal_id', false, true); + $table->string('name', 255); + $table->text('data'); + $table->string('hash', 64); + + $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); + } + ); + } + + if (!Schema::hasTable('tag_transaction_journal')) { + Schema::create( + 'tag_transaction_journal', function (Blueprint $table) { + $table->increments('id'); + $table->integer('tag_id', false, true); + $table->integer('transaction_journal_id', false, true); + + $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade'); + $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); + + + } + ); + } + + if (!Schema::hasTable('budget_transaction_journal')) { + Schema::create( + 'budget_transaction_journal', function (Blueprint $table) { + $table->increments('id'); + $table->integer('budget_id', false, true); + $table->integer('transaction_journal_id', false, true); + + $table->foreign('budget_id')->references('id')->on('budgets')->onDelete('cascade'); + $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); + } + ); + } + + if (!Schema::hasTable('category_transaction_journal')) { + Schema::create( + 'category_transaction_journal', function (Blueprint $table) { + $table->increments('id'); + $table->integer('category_id', false, true); + $table->integer('transaction_journal_id', false, true); + + $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade'); + $table->foreign('transaction_journal_id')->references('id')->on('transaction_journals')->onDelete('cascade'); + } + ); + } if (!Schema::hasTable('piggy_bank_events')) { @@ -645,7 +635,7 @@ class CreateMainTables extends Migration ); } - if (!Schema::hasTable('')) { + if (!Schema::hasTable('category_transaction')) { Schema::create( 'category_transaction', function (Blueprint $table) { $table->increments('id');