diff --git a/database/migrations/2014_10_13_000000_create_users_table.php b/database/migrations/2014_10_13_000000_create_users_table.php index f43a1a0a9ede..c14b37cde2cd 100644 --- a/database/migrations/2014_10_13_000000_create_users_table.php +++ b/database/migrations/2014_10_13_000000_create_users_table.php @@ -623,7 +623,7 @@ class CreateUsersTable extends Migration $t->unsignedInteger('vendor_id')->nullable(); $t->unsignedInteger('status_id')->index(); - $t->text('number')->nullable(); + $t->string('number')->nullable(); $t->float('discount')->default(0); $t->boolean('is_amount_discount')->default(false); @@ -672,6 +672,7 @@ class CreateUsersTable extends Migration $t->softDeletes('deleted_at', 6); $t->index(['company_id', 'deleted_at']); + $t->unique(['company_id', 'number']); $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade')->onUpdate('cascade'); $t->foreign('company_id')->references('id')->on('companies')->onDelete('cascade')->onUpdate('cascade'); $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade'); @@ -960,7 +961,7 @@ class CreateUsersTable extends Migration $t->unsignedInteger('exchange_currency_id'); $t->index(['company_id', 'deleted_at']); - + $t->unique(['company_id', 'number']); $t->foreign('company_id')->references('id')->on('companies')->onDelete('cascade')->onUpdate('cascade'); $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade')->onUpdate('cascade'); $t->foreign('client_contact_id')->references('id')->on('client_contacts')->onDelete('cascade')->onUpdate('cascade'); diff --git a/database/migrations/2020_09_22_205113_id_number_fields_for_missing_entities.php b/database/migrations/2020_09_22_205113_id_number_fields_for_missing_entities.php index 231d12c97953..302ecba4b8b7 100644 --- a/database/migrations/2020_09_22_205113_id_number_fields_for_missing_entities.php +++ b/database/migrations/2020_09_22_205113_id_number_fields_for_missing_entities.php @@ -25,15 +25,18 @@ class IdNumberFieldsForMissingEntities extends Migration { Schema::table('expenses', function (Blueprint $table) { $table->string('number')->nullable(); + $table->unique(['company_id', 'number']); }); Schema::table('tasks', function (Blueprint $table) { $table->string('number')->nullable(); + $table->unique(['company_id', 'number']); }); Schema::table('vendors', function (Blueprint $table) { $table->text('vendor_hash')->nullable(); $table->text('public_notes')->nullable(); + $table->unique(['company_id', 'number']); }); Schema::table('vendor_contacts', function (Blueprint $table) { diff --git a/database/migrations/2020_10_12_204517_project_number_column.php b/database/migrations/2020_10_12_204517_project_number_column.php index 4ccb631fd987..8ec1672df99e 100644 --- a/database/migrations/2020_10_12_204517_project_number_column.php +++ b/database/migrations/2020_10_12_204517_project_number_column.php @@ -24,6 +24,7 @@ class ProjectNumberColumn extends Migration { Schema::table('projects', function ($table) { $table->string('number')->nullable(); + $table->unique(['company_id', 'number']); }); Schema::table('expenses', function ($t) { diff --git a/database/migrations/2021_01_25_095351_add_number_field_to_clients_and_vendors.php b/database/migrations/2021_01_25_095351_add_number_field_to_clients_and_vendors.php index e79c33a405c6..3a95f1cd3291 100644 --- a/database/migrations/2021_01_25_095351_add_number_field_to_clients_and_vendors.php +++ b/database/migrations/2021_01_25_095351_add_number_field_to_clients_and_vendors.php @@ -23,10 +23,13 @@ class AddNumberFieldToClientsAndVendors extends Migration Schema::table('clients', function (Blueprint $table) { $table->string('id_number')->nullable(); + $table->unique(['company_id', 'number']); }); Schema::table('vendors', function (Blueprint $table) { $table->string('id_number')->nullable(); + $table->unique(['company_id', 'number']); + }); } diff --git a/database/migrations/2021_03_19_221024_add_unique_constraints_on_all_entities.php b/database/migrations/2021_03_19_221024_add_unique_constraints_on_all_entities.php index 8f68e23e89df..8ccbb6532086 100644 --- a/database/migrations/2021_03_19_221024_add_unique_constraints_on_all_entities.php +++ b/database/migrations/2021_03_19_221024_add_unique_constraints_on_all_entities.php @@ -13,38 +13,7 @@ class AddUniqueConstraintsOnAllEntities extends Migration */ public function up() { - Schema::table('expenses', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - Schema::table('tasks', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - - Schema::table('vendors', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - - Schema::table('payments', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - - Schema::table('projects', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - - Schema::table('clients', function (Blueprint $table) { - $table->unique(['company_id', 'number']); - }); - - Schema::table('recurring_invoices', function (Blueprint $table) { - $table->string('number')->change(); - $table->unique(['company_id', 'number']); - }); - - Schema::table('recurring_invoice_invitations', function (Blueprint $table) { - $table->unique(['client_contact_id', 'recurring_invoice_id'],'recur_invoice_client_unique'); - }); }