raiolanetworks / atlas
Get the data from the most recondite place with 'Atlas'
Installs: 518
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
pkg:composer/raiolanetworks/atlas
Requires
- php: ^8.3
- halaxa/json-machine: ^1.0
- laravel/framework: ^11.0|^12.0
- laravel/prompts: ^0.3
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1
- orchestra/testbench: ^9.5|^10.0
- pestphp/pest: ^3.5
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- dev-main
- 2.0.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-fix/add-upgrade-migrations
- dev-fix/restore-atlas-singleton-binding
- dev-fix/add-missing-database-indexes
- dev-fix/validate-entity-dependencies
- dev-fix/replace-guarded-with-fillable
- dev-fix/anonymous-migration-classes
- dev-fix/add-timezones-to-data-resources
- dev-fix/enable-translation-loading
- dev-fix/31-update-command-implementation
- dev-refactor/30-cleanup-duplicate-facades
- dev-perf/29-countries-seeder-bulk-insertion
- dev-perf/28-timezone-seeder-index
- dev-fix/27-remove-unlimited-memory-limit
- dev-feat/26-streaming-json-parser
- dev-fix/25-seeders-no-transaction
- dev-fix/24-truncate-fk-constraints
- dev-fix/23-city-country-id-always-included
- dev-fix/22-getSingular-never-matches
- dev-fix/21-string-pk-config-missing
- dev-fix/20-currency-country-relationship
- dev-fix/19-country-currency-relationship-inverted
- dev-fix/18-pivot-column-name-mismatch
- dev-fix/17-country-timezone-pivot-typo
- dev-develop
- dev-json_loads_refactor
This package is auto-updated.
Last update: 2026-02-06 09:29:33 UTC
README
With 'Atlas' you will be able to create new tables in the database and fill them with information about countries, states, cities, timezones and more.
Requirements
- PHP 8.3+
- Laravel 11+
Get to know us
Installation
Install the package via Composer:
composer require raiolanetworks/atlas
Optionally publish the config file to customise table names or toggle entities:
php artisan vendor:publish --tag="atlas-config"
Run the migrations and seed the database:
php artisan atlas:install
The command will migrate the tables for every entity enabled in config('atlas.entities') (all enabled by default) and let you choose which seeders to run. The process may take a few minutes due to the large number of cities.
To re-seed the data after a package upgrade:
php artisan atlas:update
Other publishable resources
php artisan vendor:publish --tag="atlas-translations" php artisan vendor:publish --tag="atlas-jsons" # JSON data files (for overriding)
Note: Migrations are auto-loaded by the package. Do not publish them with
--tag="atlas-migrations"unless you have a specific reason — published copies will cause "table already exists" errors.
Usage
Internally, the package works with Laravel models, which allows you to work with this model as if they were models of your own project.
For example, if you want to get all the countries in Africa:
use Raiolanetworks\Atlas\Models\Country; class MyClass { public function getAllAfricaCountries(): Collection { return Country::where('region_name', 'Africa') ->orderBy('name') ->get(); } }
Upgrading
If you are upgrading from 1.x, please see UPGRADE.md for a list of breaking changes and migration steps.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.