Skip to content

When exporting globals the code does not seem to look at the config #430

Open
@jurnskie

Description

@jurnskie

Bug description

Hi, im running into a export problem for the ExportGlobals command (Statamic\Eloquent\Commands\ExportGlobals).

I have the following config for globals splitting up file based and eloquent:

  'global_sets' => [
        'driver' => 'file',
        'model' => \Statamic\Eloquent\Globals\GlobalSetModel::class,
    ],

    'global_set_variables' => [
        'driver' => 'eloquent',
        'model' => \Concept7\StatamicMultitenancy\Eloquent\Globals\VariablesModel::class,
    ],

When i run the export command it tries to load the data from the database, instead of first looking at the config what driver is used. So im getting a database error that it cannot find the corresponding table.

Image

How to reproduce

  1. Install the eloquent driver
  2. Config the driver with the following config:
  'global_sets' => [
        'driver' => 'file',
        'model' => \Statamic\Eloquent\Globals\GlobalSetModel::class,
    ],

    'global_set_variables' => [
        'driver' => 'eloquent',
        'model' => \Concept7\StatamicMultitenancy\Eloquent\Globals\VariablesModel::class,
    ],
  1. Add global sets via the CP
  2. Run the following export command: php please eloquent:export-globals

Logs

Environment

Environment
Application Name: Statamic
Laravel Version: 12.15.0
PHP Version: 8.4.7
Composer Version: 2.8.8
Environment: local
Debug Mode: ENABLED
URL: campus-coalitie.test
Maintenance Mode: OFF
Timezone: Europe/Amsterdam
Locale: nl

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: mysql
Logs: stack / daily
Mail: log
Queue: sync
Session: file

Storage
public/storage: NOT LINKED

Locales
Installed: en, nl
LaravelLang\Lang\Plugin: 15.20.2
Locales Version: 2.10.0
Protected: en, nl
Publisher Version: 16.6.0

Filament
Blade Icons: NOT CACHED
Packages: filament, forms, notifications, support, tables
Panel Components: NOT CACHED
Version: v3.3.16
Views: NOT PUBLISHED

Livewire
Livewire: v3.6.3

Statamic
Addons: 4
Sites: 2 (EN, NL)
Stache Watcher: Enabled
Static Caching: Disabled
Version: 5.56.0 PRO

Statamic Addons
eminos/statamic-tabs: 1.2.0
rias/statamic-redirect: 3.10.9
statamic/eloquent-driver: 4.21.2
statamic/seo-pro: 6.7.0

Statamic Eloquent Driver
Asset Containers: file
Assets: eloquent
Blueprints: file
Collection Trees: eloquent
Collections: eloquent
Entries: eloquent
Forms: file
Global Sets: file
Global Variables: eloquent
Navigation Trees: eloquent
Navigations: file
Revisions: file
Sites: eloquent
Taxonomies: file
Terms: eloquent
Tokens: eloquent

Stack trace

[2025-05-28 13:37:13] local.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'campus_coalitie_productie_dump.global_sets' doesn't exist (Connection: mysql, SQL: select * from `global_sets`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'campus_coalitie_productie_dump.global_sets' doesn't exist (Connection: mysql, SQL: select * from `global_sets`) at /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Connection.php:822)
[stacktrace]
#0 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Connection.php(776): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#1 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Connection.php(395): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#2 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3120): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#3 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3105): Illuminate\\Database\\Query\\Builder->runSelect()
#4 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3695): Illuminate\\Database\\Query\\Builder->{closure:Illuminate\\Database\\Query\\Builder::get():3104}()
#5 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3104): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#6 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(872): Illuminate\\Database\\Query\\Builder->get(Array)
#7 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(854): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#8 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(742): Illuminate\\Database\\Eloquent\\Builder->get(Array)
#9 /Users/jurn/Sites/campus-coalitie/vendor/statamic/eloquent-driver/src/Commands/ExportGlobals.php(70): Illuminate\\Database\\Eloquent\\Model::all()
#10 /Users/jurn/Sites/campus-coalitie/vendor/statamic/eloquent-driver/src/Commands/ExportGlobals.php(48): Statamic\\Eloquent\\Commands\\ExportGlobals->exportGlobals()
#11 /Users/jurn/Sites/campus-coalitie/vendor/statamic/eloquent-driver/src/Commands/ExportGlobals.php(65): Statamic\\Eloquent\\Commands\\ExportGlobals->{closure:Statamic\\Eloquent\\Commands\\ExportGlobals::handle():47}()
#12 /Users/jurn/Sites/campus-coalitie/vendor/statamic/eloquent-driver/src/Commands/ExportGlobals.php(47): Statamic\\Eloquent\\Commands\\ExportGlobals->usingDefaultRepositories(Object(Closure))
#13 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Statamic\\Eloquent\\Commands\\ExportGlobals->handle()
#14 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#15 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#16 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#17 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#18 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array)
#19 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#20 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#21 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#22 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Statamic\\Eloquent\\Commands\\ExportGlobals), Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#23 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#24 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Console/Application.php(165): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\StringInput), Object(Illuminate\\Console\\OutputStyle))
#25 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(426): Illuminate\\Console\\Application->call('statamic:eloque...', Array, Object(Illuminate\\Console\\OutputStyle))
#26 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\\Foundation\\Console\\Kernel->call('statamic:eloque...', Array, Object(Illuminate\\Console\\OutputStyle))
#27 /Users/jurn/Sites/campus-coalitie/vendor/spatie/laravel-multitenancy/src/Commands/TenantsArtisanCommand.php(32): Illuminate\\Support\\Facades\\Facade::__callStatic('call', Array)
#28 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Spatie\\Multitenancy\\Commands\\TenantsArtisanCommand->handle()
#29 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#30 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /Users/jurn/Sites/campus-coalitie/vendor/spatie/laravel-multitenancy/src/Commands/Concerns/TenantAware.php(33): Illuminate\\Container\\Container->call(Array)
#34 /Users/jurn/Sites/campus-coalitie/vendor/spatie/laravel-multitenancy/src/Models/Concerns/ImplementsTenant.php(84): Spatie\\Multitenancy\\Commands\\TenantsArtisanCommand->{closure:{closure:Spatie\\Multitenancy\\Commands\\Concerns\\TenantAware::execute():33}:33}(Object(Concept7\\StatamicMultitenancy\\Models\\Tenant))
#35 /Users/jurn/Sites/campus-coalitie/vendor/spatie/laravel-multitenancy/src/Commands/Concerns/TenantAware.php(33): Concept7\\StatamicMultitenancy\\Models\\Tenant->execute(Object(Closure))
#36 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Collections/LazyCollection.php(809): Spatie\\Multitenancy\\Commands\\TenantsArtisanCommand->{closure:Spatie\\Multitenancy\\Commands\\Concerns\\TenantAware::execute():33}(Object(Concept7\\StatamicMultitenancy\\Models\\Tenant), 0)
#37 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(824): Illuminate\\Support\\LazyCollection->{closure:Illuminate\\Support\\LazyCollection::map():807}()
#38 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(559): Illuminate\\Support\\LazyCollection->reduce(Object(Closure), 0)
#39 /Users/jurn/Sites/campus-coalitie/vendor/spatie/laravel-multitenancy/src/Commands/Concerns/TenantAware.php(34): Illuminate\\Support\\LazyCollection->sum()
#40 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Command/Command.php(279): Spatie\\Multitenancy\\Commands\\TenantsArtisanCommand->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#41 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#42 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#43 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Spatie\\Multitenancy\\Commands\\TenantsArtisanCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#44 /Users/jurn/Sites/campus-coalitie/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#45 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#46 /Users/jurn/Sites/campus-coalitie/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1234): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#47 /Users/jurn/Sites/campus-coalitie/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#48 {main}

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions