-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
I'm facing this issue in the last few days. I have 3 databases to connect with. Well actually I just need to connect to 1 database since my task is on that 1 database. But, my other team members need to connect to other database, so we configured 3 database connections.
Note : the database I'm working on is api_mobile
A week ago, I created some migration files to migrate. At that time, I only made one database configuration. And executing php spark migrate has no problems.
Several days later, we (team members) merging our work, so we created 3 database connections.
When I execute php spark migrate -g api_mobile (hoping my new migration file is creating table into api_mobile), all of the migration files that I have created is migrating tables into wrong database (migrated to default group).
My laptop setup is:
Apache 2.4.48
PHP 8.0.9
PostgreSQL 13.3
My CLI response:
D:\xampp\htdocs\my-app> php spark migrate -g api_mobile
CodeIgniter v4.1.3 Command Line Tool - Server Time: 2021-09-14 22:27:38 UTC+07:00
Running all new migrations...
Running: (App) 2021-09-04-141412_App\Database\Migrations\CreateRoleTable
Running: (App) 2021-09-04-141513_App\Database\Migrations\CreateUserTable
Running: (App) 2021-09-04-143719_App\Database\Migrations\CreateAuditTrailTable
Running: (App) 2021-09-04-144446_App\Database\Migrations\CreateJenisSurveyTable
Running: (App) 2021-09-04-144621_App\Database\Migrations\CreateSurveyTable
Running: (App) 2021-09-04-145012_App\Database\Migrations\CreateSurveyDetailTable
Running: (App) 2021-09-04-150024_App\Database\Migrations\CreateMenuTable
Running: (App) 2021-09-04-150300_App\Database\Migrations\CreateHakAksesTable
Running: (App) 2021-09-04-150450_App\Database\Migrations\CreateHeroTable
Running: (App) 2021-09-04-150639_App\Database\Migrations\CreateJudulTable
Running: (App) 2021-09-04-150753_App\Database\Migrations\CreateAboutTable
Running: (App) 2021-09-04-151115_App\Database\Migrations\CreateTimTable
Running: (App) 2021-09-04-151123_App\Database\Migrations\CreateTimSocmedTable
Running: (App) 2021-09-04-151649_App\Database\Migrations\CreatePesanTable
Running: (App) 2021-09-04-151905_App\Database\Migrations\CreateBalasanTable
Running: (App) 2021-09-04-152100_App\Database\Migrations\CreateKontakTable
Running: (App) 2021-09-04-152304_App\Database\Migrations\CreateFooterTable
Running: (App) 2021-09-04-152348_App\Database\Migrations\CreateCiSessionsTable
Running: (App) 2021-09-07-041929_App\Database\Migrations\CreateLaporanBugTable
Running: (App) 2021-09-14-133002_App\Database\Migrations\CreateUploadTable
Running: (App) 2021-09-14-134138_App\Database\Migrations\CreateUploadDetailTable
Done migrations.
My migrations table (created by CI 4, and yes in the wrong database):
id|version |class |group |namespace|time |batch|
--+-----------------+-----------------------------------------------+----------+---------+----------+-----+
1|2021-09-04-141412|App\Database\Migrations\CreateRoleTable |api_mobile|App |1631633259| 1|
2|2021-09-04-141513|App\Database\Migrations\CreateUserTable |api_mobile|App |1631633259| 1|
3|2021-09-04-143719|App\Database\Migrations\CreateAuditTrailTable |api_mobile|App |1631633259| 1|
4|2021-09-04-144446|App\Database\Migrations\CreateJenisSurveyTable |api_mobile|App |1631633259| 1|
5|2021-09-04-144621|App\Database\Migrations\CreateSurveyTable |api_mobile|App |1631633259| 1|
6|2021-09-04-145012|App\Database\Migrations\CreateSurveyDetailTable|api_mobile|App |1631633259| 1|
7|2021-09-04-150024|App\Database\Migrations\CreateMenuTable |api_mobile|App |1631633259| 1|
8|2021-09-04-150300|App\Database\Migrations\CreateHakAksesTable |api_mobile|App |1631633259| 1|
9|2021-09-04-150450|App\Database\Migrations\CreateHeroTable |api_mobile|App |1631633259| 1|
10|2021-09-04-150639|App\Database\Migrations\CreateJudulTable |api_mobile|App |1631633259| 1|
11|2021-09-04-150753|App\Database\Migrations\CreateAboutTable |api_mobile|App |1631633259| 1|
12|2021-09-04-151115|App\Database\Migrations\CreateTimTable |api_mobile|App |1631633259| 1|
13|2021-09-04-151123|App\Database\Migrations\CreateTimSocmedTable |api_mobile|App |1631633259| 1|
14|2021-09-04-151649|App\Database\Migrations\CreatePesanTable |api_mobile|App |1631633259| 1|
15|2021-09-04-151905|App\Database\Migrations\CreateBalasanTable |api_mobile|App |1631633259| 1|
16|2021-09-04-152100|App\Database\Migrations\CreateKontakTable |api_mobile|App |1631633259| 1|
17|2021-09-04-152304|App\Database\Migrations\CreateFooterTable |api_mobile|App |1631633259| 1|
18|2021-09-04-152348|App\Database\Migrations\CreateCiSessionsTable |api_mobile|App |1631633259| 1|
19|2021-09-07-041929|App\Database\Migrations\CreateLaporanBugTable |api_mobile|App |1631633259| 1|
20|2021-09-14-133002|App\Database\Migrations\CreateUploadTable |api_mobile|App |1631633259| 1|
21|2021-09-14-134138|App\Database\Migrations\CreateUploadDetailTable|api_mobile|App |1631633259| 1|
My Database.php file is:
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'postgres',
'password' => 'password',
'database' => 'geonode_data',
'DBDriver' => 'Postgre',
....
];
public $ppigis = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'postgres',
'password' => 'password',
'database' => 'ppigis',
'DBDriver' => 'Postgre',
....
];
public $api_mobile = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'postgres',
'password' => 'password',
'database' => 'api_mobile',
'DBDriver' => 'Postgre',
....
];My .env file is:
database.default.hostname = localhost
database.default.database = geonode_data
database.default.username = postgres
database.default.password = password
database.default.DBDriver = Postgre
database.ppigis.hostname = localhost
database.ppigis.database = ppi_gis
database.ppigis.username = postgres
database.ppigis.password = password
database.ppigis.DBDriver = Postgre
database.api_mobile.hostname = localhost
database.api_mobile.database = api_mobile
database.api_mobile.username = postgres
database.api_mobile.password = password
database.api_mobile.DBDriver = PostgreOne of my migrations file:
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class CreateRoleTable extends Migration
{
protected $DBGroup = 'api_mobile';
Here's how to reproduce the error:
- Creating 1 database connection, api_mobile
- Creating 19 migration files via CLI
- Several days later, adding two new database connection
- Creating 2 new migration files via CLI
- Execute
php spark migrate -g api_mobilehoping that will only migrate api_mobile group
Thank you for your times.. 😄