Skip to content

Commit 8906377

Browse files
qschmickroshangautam
authored andcommitted
feature(db-connection) : support configurable db connection
- add support for configuration DB connection
1 parent 691fff3 commit 8906377

13 files changed

+186
-131
lines changed

config/totem.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,4 +227,5 @@
227227
'command_filter' => [],
228228
'whitelist' => true,
229229
],
230+
'database_connection' => env('TOTEM_DATABASE_CONNECTION'),
230231
];

database/migrations/2017_08_05_194349_create_tasks_table.php

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class CreateTasksTable extends Migration
7+
class CreateTasksTable extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,19 +13,20 @@ class CreateTasksTable extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::create(config('totem.table_prefix').'tasks', function (Blueprint $table) {
17-
$table->increments('id');
18-
$table->string('description');
19-
$table->string('command');
20-
$table->string('parameters')->nullable();
21-
$table->string('expression')->nullable();
22-
$table->string('timezone')->default('UTC');
23-
$table->boolean('is_active')->default(true);
24-
$table->boolean('dont_overlap')->default(false);
25-
$table->boolean('run_in_maintenance')->default(false);
26-
$table->string('notification_email_address')->nullable();
27-
$table->timestamps();
28-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->create(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
18+
$table->increments('id');
19+
$table->string('description');
20+
$table->string('command');
21+
$table->string('parameters')->nullable();
22+
$table->string('expression')->nullable();
23+
$table->string('timezone')->default('UTC');
24+
$table->boolean('is_active')->default(true);
25+
$table->boolean('dont_overlap')->default(false);
26+
$table->boolean('run_in_maintenance')->default(false);
27+
$table->string('notification_email_address')->nullable();
28+
$table->timestamps();
29+
});
2930
}
3031

3132
/**
@@ -35,6 +36,7 @@ public function up()
3536
*/
3637
public function down()
3738
{
38-
Schema::dropIfExists(config('totem.table_prefix').'tasks');
39+
Schema::connection(TOTEM_DATABASE_CONNECTION)
40+
->dropIfExists(TOTEM_TABLE_PREFIX.'tasks');
3941
}
4042
}

database/migrations/2017_08_05_195539_create_task_frequencies_table.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class CreateTaskFrequenciesTable extends Migration
7+
class CreateTaskFrequenciesTable extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,13 +13,14 @@ class CreateTaskFrequenciesTable extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::create(config('totem.table_prefix').'task_frequencies', function (Blueprint $table) {
17-
$table->increments('id');
18-
$table->unsignedInteger('task_id');
19-
$table->string('label');
20-
$table->string('interval');
21-
$table->timestamps();
22-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->create(TOTEM_TABLE_PREFIX.'task_frequencies', function (Blueprint $table) {
18+
$table->increments('id');
19+
$table->unsignedInteger('task_id');
20+
$table->string('label');
21+
$table->string('interval');
22+
$table->timestamps();
23+
});
2324
}
2425

2526
/**
@@ -29,6 +30,7 @@ public function up()
2930
*/
3031
public function down()
3132
{
32-
Schema::dropIfExists(config('totem.table_prefix').'task_frequencies');
33+
Schema::connection(TOTEM_DATABASE_CONNECTION)
34+
->dropIfExists(TOTEM_TABLE_PREFIX.'task_frequencies');
3335
}
3436
}

database/migrations/2017_08_05_201914_create_task_results_table.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class CreateTaskResultsTable extends Migration
7+
class CreateTaskResultsTable extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,14 +13,15 @@ class CreateTaskResultsTable extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::create(config('totem.table_prefix').'task_results', function (Blueprint $table) {
17-
$table->increments('id');
18-
$table->unsignedInteger('task_id');
19-
$table->timestamp('ran_at')->useCurrent();
20-
$table->string('duration');
21-
$table->longText('result');
22-
$table->timestamps();
23-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->create(TOTEM_TABLE_PREFIX.'task_results', function (Blueprint $table) {
18+
$table->increments('id');
19+
$table->unsignedInteger('task_id');
20+
$table->timestamp('ran_at')->useCurrent();
21+
$table->string('duration');
22+
$table->longText('result');
23+
$table->timestamps();
24+
});
2425
}
2526

2627
/**
@@ -30,6 +31,7 @@ public function up()
3031
*/
3132
public function down()
3233
{
33-
Schema::dropIfExists(config('totem.table_prefix').'task_results');
34+
Schema::connection(TOTEM_DATABASE_CONNECTION)
35+
->dropIfExists(TOTEM_TABLE_PREFIX.'task_results');
3436
}
3537
}

database/migrations/2017_08_24_085132_create_frequency_parameters_table.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class CreateFrequencyParametersTable extends Migration
7+
class CreateFrequencyParametersTable extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,13 +13,14 @@ class CreateFrequencyParametersTable extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::create(config('totem.table_prefix').'frequency_parameters', function (Blueprint $table) {
17-
$table->increments('id');
18-
$table->unsignedInteger('frequency_id');
19-
$table->string('name');
20-
$table->string('value');
21-
$table->timestamps();
22-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->create(TOTEM_TABLE_PREFIX.'frequency_parameters', function (Blueprint $table) {
18+
$table->increments('id');
19+
$table->unsignedInteger('frequency_id');
20+
$table->string('name');
21+
$table->string('value');
22+
$table->timestamps();
23+
});
2324
}
2425

2526
/**
@@ -29,6 +30,7 @@ public function up()
2930
*/
3031
public function down()
3132
{
32-
Schema::dropIfExists(config('totem.table_prefix').'frequency_parameters');
33+
Schema::connection(TOTEM_DATABASE_CONNECTION)
34+
->dropIfExists(TOTEM_TABLE_PREFIX.'frequency_parameters');
3335
}
3436
}

database/migrations/2017_08_26_083622_alter_tasks_table_add_notifications_fields.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class AlterTasksTableAddNotificationsFields extends Migration
7+
class AlterTasksTableAddNotificationsFields extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,10 +13,11 @@ class AlterTasksTableAddNotificationsFields extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
17-
$table->string('notification_phone_number')->nullable()->after('notification_email_address');
18-
$table->string('notification_slack_webhook')->nullable()->after('notification_phone_number');
19-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
18+
$table->string('notification_phone_number')->nullable()->after('notification_email_address');
19+
$table->string('notification_slack_webhook')->nullable()->after('notification_phone_number');
20+
});
2021
}
2122

2223
/**
@@ -26,12 +27,14 @@ public function up()
2627
*/
2728
public function down()
2829
{
29-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
30-
$table->dropColumn('notification_phone_number');
31-
});
30+
Schema::connection(TOTEM_DATABASE_CONNECTION)
31+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
32+
$table->dropColumn('notification_phone_number');
33+
});
3234

33-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
34-
$table->dropColumn('notification_slack_webhook');
35-
});
35+
Schema::connection(TOTEM_DATABASE_CONNECTION)
36+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
37+
$table->dropColumn('notification_slack_webhook');
38+
});
3639
}
3740
}

database/migrations/2018_01_02_121533_alter_tasks_table_add_auto_cleanup_num_and_type_fields.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class AlterTasksTableAddAutoCleanupNumAndTypeFields extends Migration
7+
class AlterTasksTableAddAutoCleanupNumAndTypeFields extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,10 +13,11 @@ class AlterTasksTableAddAutoCleanupNumAndTypeFields extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
17-
$table->integer('auto_cleanup_num')->default(0);
18-
$table->string('auto_cleanup_type', 20)->nullable();
19-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
18+
$table->integer('auto_cleanup_num')->default(0);
19+
$table->string('auto_cleanup_type', 20)->nullable();
20+
});
2021
}
2122

2223
/**
@@ -26,12 +27,14 @@ public function up()
2627
*/
2728
public function down()
2829
{
29-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
30-
$table->dropColumn('auto_cleanup_num');
31-
});
30+
Schema::connection(TOTEM_DATABASE_CONNECTION)
31+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
32+
$table->dropColumn('auto_cleanup_num');
33+
});
3234

33-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
34-
$table->dropColumn('auto_cleanup_type');
35-
});
35+
Schema::connection(TOTEM_DATABASE_CONNECTION)
36+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
37+
$table->dropColumn('auto_cleanup_type');
38+
});
3639
}
3740
}

database/migrations/2018_07_03_120000_alter_tasks_table_add_run_on_one_server_support.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use Illuminate\Support\Facades\Schema;
44
use Illuminate\Database\Schema\Blueprint;
5-
use Illuminate\Database\Migrations\Migration;
5+
use Studio\Totem\Database\TotemMigration;
66

7-
class AlterTasksTableAddRunOnOneServerSupport extends Migration
7+
class AlterTasksTableAddRunOnOneServerSupport extends TotemMigration
88
{
99
/**
1010
* Run the migrations.
@@ -13,9 +13,10 @@ class AlterTasksTableAddRunOnOneServerSupport extends Migration
1313
*/
1414
public function up()
1515
{
16-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
17-
$table->boolean('run_on_one_server')->default(false);
18-
});
16+
Schema::connection(TOTEM_DATABASE_CONNECTION)
17+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
18+
$table->boolean('run_on_one_server')->default(false);
19+
});
1920
}
2021

2122
/**
@@ -25,8 +26,9 @@ public function up()
2526
*/
2627
public function down()
2728
{
28-
Schema::table(config('totem.table_prefix').'tasks', function (Blueprint $table) {
29-
$table->dropColumn('run_on_one_server');
30-
});
29+
Schema::connection(TOTEM_DATABASE_CONNECTION)
30+
->table(TOTEM_TABLE_PREFIX.'tasks', function (Blueprint $table) {
31+
$table->dropColumn('run_on_one_server');
32+
});
3133
}
3234
}

0 commit comments

Comments
 (0)