diff --git a/app/Console/Commands/UpdateUrlCommand.php b/app/Console/Commands/UpdateUrlCommand.php index 0c95b0a3c8a..e155878d331 100644 --- a/app/Console/Commands/UpdateUrlCommand.php +++ b/app/Console/Commands/UpdateUrlCommand.php @@ -49,6 +49,7 @@ public function handle(Connection $db): int 'chapters' => ['description_html'], 'books' => ['description_html'], 'bookshelves' => ['description_html'], + 'page_revisions' => ['html', 'text', 'markdown'], 'images' => ['url'], 'settings' => ['value'], 'comments' => ['html', 'text'], @@ -77,6 +78,12 @@ public function handle(Connection $db): int $this->info('URL update procedure complete.'); $this->info('============================================================================'); $this->info('Be sure to run "php artisan cache:clear" to clear any old URLs in the cache.'); + + if (!str_starts_with($newUrl, url('/'))) { + $this->warn('You still need to update your APP_URL env value. This is currently set to:'); + $this->warn(url('/')); + } + $this->info('============================================================================'); return 0; diff --git a/tests/Commands/UpdateUrlCommandTest.php b/tests/Commands/UpdateUrlCommandTest.php index 62c39c2741f..1353cf80365 100644 --- a/tests/Commands/UpdateUrlCommandTest.php +++ b/tests/Commands/UpdateUrlCommandTest.php @@ -87,6 +87,26 @@ public function test_command_updates_array_settings() $this->assertEquals('a https://cats.example.com/donkey/cat url', $settingVal[0]['name']); } + public function test_command_updates_page_revisions() + { + $page = $this->entities->page(); + + for ($i = 0; $i < 2; $i++) { + $this->entities->updatePage($page, [ + 'name' => $page->name, + 'markdown' => "[A link {$i}](https://example.com/donkey/cat)" + ]); + } + + $this->runUpdate('https://example.com', 'https://cats.example.com'); + setting()->flushCache(); + + $this->assertDatabaseHas('page_revisions', [ + 'markdown' => '[A link 1](https://cats.example.com/donkey/cat)', + 'html' => '' . "\n" + ]); + } + protected function runUpdate(string $oldUrl, string $newUrl) { $this->artisan("bookstack:update-url {$oldUrl} {$newUrl}")