From bb334ab942b116712df155571d28327b6e7dbd74 Mon Sep 17 00:00:00 2001 From: InensusDev <100351719+InensusDev@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:42:52 +0300 Subject: [PATCH] [MPM-6] Usage types table in base & extend main settings table (#37) * MPM-6 update database * MPM-6 update database --- .../htdocs/mpmanager/app/Models/UsageType.php | 13 +++++ ..._02_07_100345_create_usage_types_table.php | 33 +++++++++++++ ...age_type_column_to_main_settings_table.php | 39 +++++++++++++++ .../seeders/ShardingDatabaseSeeder.php | 1 + .../database/seeders/UsageTypeSeeder.php | 49 +++++++++++++++++++ 5 files changed, 135 insertions(+) create mode 100644 Website/htdocs/mpmanager/app/Models/UsageType.php create mode 100644 Website/htdocs/mpmanager/database/migrations/base/2024_02_07_100345_create_usage_types_table.php create mode 100644 Website/htdocs/mpmanager/database/migrations/micropowermanager/2024_02_07_102305_add_usage_type_column_to_main_settings_table.php create mode 100644 Website/htdocs/mpmanager/database/seeders/UsageTypeSeeder.php diff --git a/Website/htdocs/mpmanager/app/Models/UsageType.php b/Website/htdocs/mpmanager/app/Models/UsageType.php new file mode 100644 index 000000000..8a1f4dc76 --- /dev/null +++ b/Website/htdocs/mpmanager/app/Models/UsageType.php @@ -0,0 +1,13 @@ +create('usage_types', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('value'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::connection('micro_power_manager')->dropIfExists('usage_types'); + } +}; diff --git a/Website/htdocs/mpmanager/database/migrations/micropowermanager/2024_02_07_102305_add_usage_type_column_to_main_settings_table.php b/Website/htdocs/mpmanager/database/migrations/micropowermanager/2024_02_07_102305_add_usage_type_column_to_main_settings_table.php new file mode 100644 index 000000000..46b43e7cf --- /dev/null +++ b/Website/htdocs/mpmanager/database/migrations/micropowermanager/2024_02_07_102305_add_usage_type_column_to_main_settings_table.php @@ -0,0 +1,39 @@ +table('main_settings', function (Blueprint $table) { + $table->enum('usage_type', [ + 'mini-grid', + 'shs', + 'e-bike', + 'mini-grid&shs', + 'mini-grid&e-bike', + 'shs&e-bike', + 'mini-grid&shs&e-bike' + ])->default('mini-grid&shs&e-bike')->after('id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::connection('shard')->table('main_settings', function (Blueprint $table) { + // + }); + } +}; diff --git a/Website/htdocs/mpmanager/database/seeders/ShardingDatabaseSeeder.php b/Website/htdocs/mpmanager/database/seeders/ShardingDatabaseSeeder.php index 0e3e48bac..1bf1d8a07 100644 --- a/Website/htdocs/mpmanager/database/seeders/ShardingDatabaseSeeder.php +++ b/Website/htdocs/mpmanager/database/seeders/ShardingDatabaseSeeder.php @@ -10,5 +10,6 @@ public function run() { $this->call(MpmPluginsSeeder::class); $this->call(ProtectedPagesSeeder::class); + $this->call(UsageTypeSeeder::class); } } diff --git a/Website/htdocs/mpmanager/database/seeders/UsageTypeSeeder.php b/Website/htdocs/mpmanager/database/seeders/UsageTypeSeeder.php new file mode 100644 index 000000000..b53139652 --- /dev/null +++ b/Website/htdocs/mpmanager/database/seeders/UsageTypeSeeder.php @@ -0,0 +1,49 @@ +table('usage_types')->insert(array( + [ + 'name' => 'Mini-Grid', + 'value' => 'mini-grid', + ], + [ + 'name' => 'Solar Home System', + 'value' => 'shs', + ], + [ + 'name' => 'EBike Rental', + 'value' => 'e-bike', + ], + [ + 'name' => 'Mini-Grid & Solar Home System', + 'value' => 'mini-grid&shs', + ], + [ + 'name' => 'Mini-Grid & EBike Rental', + 'value' => 'mini-grid&e-bike', + ], + [ + 'name' => 'Solar Home & EBike Rental', + 'value' => 'shs&e-bike', + ], + [ + 'name' => 'Mini-Grid & Solar Home System & EBike Rental', + 'value' => 'mini-grid&shs&e-bike', + ] + ) + ); + } +}