@@ -83,6 +83,7 @@ public function boot()
8383 Commands \ExportNavs::class,
8484 Commands \ExportRevisions::class,
8585 Commands \ExportTaxonomies::class,
86+ Commands \ExportSites::class,
8687 Commands \ImportAssets::class,
8788 Commands \ImportBlueprints::class,
8889 Commands \ImportCollections::class,
@@ -92,6 +93,7 @@ public function boot()
9293 Commands \ImportNavs::class,
9394 Commands \ImportRevisions::class,
9495 Commands \ImportTaxonomies::class,
96+ Commands \ImportSites::class,
9597 Commands \SyncAssets::class,
9698 ]);
9799
@@ -161,6 +163,10 @@ private function publishMigrations(): void
161163 __DIR__ .'/../database/migrations/2024_03_07_100000_create_tokens_table.php ' => database_path ('migrations/2024_03_07_100000_create_tokens_table.php ' ),
162164 ], 'statamic-eloquent-token-migrations ' );
163165
166+ $ this ->publishes ($ siteMigrations = [
167+ __DIR__ .'/../database/migrations/2024_07_16_100000_create_sites_table.php ' => database_path ('migrations/2024_07_16_100000_create_sites_table.php ' ),
168+ ], 'statamic-eloquent-site-migrations ' );
169+
164170 $ this ->publishes (
165171 array_merge (
166172 $ taxonomyMigrations ,
@@ -177,7 +183,8 @@ private function publishMigrations(): void
177183 $ assetContainerMigrations ,
178184 $ assetMigrations ,
179185 $ revisionMigrations ,
180- $ tokenMigrations
186+ $ tokenMigrations ,
187+ $ siteMigrations ,
181188 ),
182189 'migrations '
183190 );
@@ -210,6 +217,7 @@ public function register()
210217 $ this ->registerTaxonomies ();
211218 $ this ->registerTerms ();
212219 $ this ->registerTokens ();
220+ $ this ->registerSites ();
213221 }
214222
215223 private function registerAssetContainers ()
@@ -517,6 +525,19 @@ public function registerTokens()
517525 Statamic::repository (TokenRepositoryContract::class, TokenRepository::class);
518526 }
519527
528+ public function registerSites ()
529+ {
530+ if (config ('statamic.eloquent-driver.sites.driver ' , 'file ' ) != 'eloquent ' ) {
531+ return ;
532+ }
533+
534+ $ this ->app ->bind ('statamic.eloquent.sites.model ' , function () {
535+ return config ('statamic.eloquent-driver.sites.model ' );
536+ });
537+
538+ $ this ->app ->singleton (\Statamic \Sites \Sites::class, \Statamic \Eloquent \Sites \Sites::class);
539+ }
540+
520541 protected function addAboutCommandInfo ()
521542 {
522543 if (! class_exists (AboutCommand::class)) {
@@ -539,6 +560,7 @@ protected function addAboutCommandInfo()
539560 'Taxonomies ' => config ('statamic.eloquent-driver.taxonomies.driver ' , 'file ' ),
540561 'Terms ' => config ('statamic.eloquent-driver.terms.driver ' , 'file ' ),
541562 'Tokens ' => config ('statamic.eloquent-driver.tokens.driver ' , 'file ' ),
563+ 'Sites ' => config ('statamic.eloquent-driver.sites.driver ' , 'file ' ),
542564 ])->map (fn ($ value ) => $ this ->applyAboutCommandFormatting ($ value ))->all ());
543565 }
544566
0 commit comments