diff --git a/app/Database/Seeds/AreaGeoSeeder.php b/app/Database/Seeds/AreaGeoSeeder.php new file mode 100644 index 0000000..ba5d47c --- /dev/null +++ b/app/Database/Seeds/AreaGeoSeeder.php @@ -0,0 +1,42 @@ +db->query( + "SELECT zonecode, zoneclass, zonename, parentzoneid FROM {$this->externalDbName}.zones ORDER BY zoneid ASC" + )->getResultArray(); + + if (empty($externalData)) { + echo "No data found in external database.\n"; + return; + } + + // Prepare data for insertion (exclude AreaGeoID to allow auto-increment) + $data = []; + foreach ($externalData as $row) { + $data[] = [ + 'AreaCode' => $row['zonecode'], + 'Class' => $row['zoneclass'], + 'AreaName' => $row['zonename'], + 'Parent' => $row['parentzoneid'], + ]; + } + + // Insert into local database + $this->db->table('areageo')->insertBatch($data); + + echo "Successfully seeded " . count($data) . " area geo records.\n"; + } +} diff --git a/app/Database/Seeds/DBSeeder.php b/app/Database/Seeds/DBSeeder.php index dc8c1ef..bc88c73 100644 --- a/app/Database/Seeds/DBSeeder.php +++ b/app/Database/Seeds/DBSeeder.php @@ -4,14 +4,17 @@ namespace App\Database\Seeds; use CodeIgniter\Database\Seeder; -class DBSeeder extends Seeder { - public function run() { +class DBSeeder extends Seeder +{ + public function run() + { $this->call('ValueSetSeeder'); $this->call('ValueSetCountrySeeder'); $this->call('OrganizationSeeder'); $this->call('CounterSeeder'); $this->call('ContactSeeder'); $this->call('LocationSeeder'); + $this->call('AreaGeoSeeder'); $this->call('SpecimenSeeder'); $this->call('TestSeeder'); $this->call('PatientSeeder');