diff --git a/database/migrations/entries/2024_03_07_100000_create_entries_table.php b/database/migrations/entries/2024_03_07_100000_create_entries_table.php index 49c9b2d5..a0155252 100644 --- a/database/migrations/entries/2024_03_07_100000_create_entries_table.php +++ b/database/migrations/entries/2024_03_07_100000_create_entries_table.php @@ -13,7 +13,6 @@ public function up() $table->string('site')->index(); $table->unsignedBigInteger('origin_id')->nullable()->index(); $table->boolean('published')->default(true); - $table->string('status'); $table->string('slug')->nullable(); $table->string('uri')->nullable()->index(); $table->string('date')->nullable(); diff --git a/database/migrations/entries/2024_03_07_100000_create_entries_table_with_string_ids.php b/database/migrations/entries/2024_03_07_100000_create_entries_table_with_string_ids.php index 94a3760c..318dce18 100644 --- a/database/migrations/entries/2024_03_07_100000_create_entries_table_with_string_ids.php +++ b/database/migrations/entries/2024_03_07_100000_create_entries_table_with_string_ids.php @@ -13,7 +13,6 @@ public function up() $table->string('site')->index(); $table->uuid('origin_id')->nullable()->index(); $table->boolean('published')->default(true); - $table->string('status'); $table->string('slug')->nullable(); $table->string('uri')->nullable()->index(); $table->string('date')->nullable(); diff --git a/database/migrations/updates/drop_status_on_entries.php.stub b/database/migrations/updates/drop_status_on_entries.php.stub new file mode 100644 index 00000000..2681363d --- /dev/null +++ b/database/migrations/updates/drop_status_on_entries.php.stub @@ -0,0 +1,21 @@ +prefix('entries'), function (Blueprint $table) { + $table->dropColumn('status'); + }); + } + + public function down() + { + Schema::table($this->prefix('entries'), function (Blueprint $table) { + $table->string('status')->nullable(); + }); + } +}; diff --git a/src/Entries/Entry.php b/src/Entries/Entry.php index cdfc85f7..215da514 100644 --- a/src/Entries/Entry.php +++ b/src/Entries/Entry.php @@ -94,18 +94,17 @@ public static function makeModelFromContract(EntryContract $source) } $attributes = [ - 'origin_id' => $origin?->id(), - 'site' => $source->locale(), - 'slug' => $source->slug(), - 'uri' => $source->uri(), - 'date' => $date, + 'origin_id' => $origin?->id(), + 'site' => $source->locale(), + 'slug' => $source->slug(), + 'uri' => $source->uri(), + 'date' => $date, 'collection' => $source->collectionHandle(), - 'blueprint' => $source->blueprint ?? $source->blueprint()->handle(), - 'data' => $data->except(EntryQueryBuilder::COLUMNS), - 'published' => $source->published(), - 'status' => $source->status(), + 'blueprint' => $source->blueprint ?? $source->blueprint()->handle(), + 'data' => $data->except(EntryQueryBuilder::COLUMNS), + 'published' => $source->published(), 'updated_at' => $source->lastModified(), - 'order' => $source->order(), + 'order' => $source->order(), ]; if ($id = $source->id()) { diff --git a/src/Entries/EntryQueryBuilder.php b/src/Entries/EntryQueryBuilder.php index 4c32fb32..d2edf759 100644 --- a/src/Entries/EntryQueryBuilder.php +++ b/src/Entries/EntryQueryBuilder.php @@ -17,7 +17,7 @@ class EntryQueryBuilder extends EloquentQueryBuilder implements QueryBuilder private $selectedQueryColumns; const COLUMNS = [ - 'id', 'site', 'origin_id', 'published', 'status', 'slug', 'uri', + 'id', 'site', 'origin_id', 'published', 'slug', 'uri', 'date', 'collection', 'created_at', 'updated_at', 'order', 'blueprint', ]; diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index abae0056..6b7e0d7d 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -55,6 +55,7 @@ class ServiceProvider extends AddonServiceProvider \Statamic\Eloquent\Updates\SplitGlobalsFromVariables::class, \Statamic\Eloquent\Updates\AddIdToAttributesInRevisionsTable::class, \Statamic\Eloquent\Updates\RelateFormSubmissionsByHandle::class, + \Statamic\Eloquent\Updates\DropStatusOnEntries::class, ]; protected $listen = [ diff --git a/src/Updates/DropStatusOnEntries.php b/src/Updates/DropStatusOnEntries.php new file mode 100644 index 00000000..a3c178a9 --- /dev/null +++ b/src/Updates/DropStatusOnEntries.php @@ -0,0 +1,24 @@ +isUpdatingTo('4.0.0'); + } + + public function update() + { + $source = __DIR__.'/../../database/migrations/updates/drop_status_on_entries.php.stub'; + $dest = database_path('migrations/'.date('Y_m_d_His').'_drop_status_on_entries.php'); + + $this->files->copy($source, $dest); + + $this->console()->info('Migrations created'); + $this->console()->comment('Remember to run `php artisan migrate` to apply it to your database.'); + } +} diff --git a/tests/Entries/EntryTest.php b/tests/Entries/EntryTest.php index cdf3c91c..b70bbd3f 100644 --- a/tests/Entries/EntryTest.php +++ b/tests/Entries/EntryTest.php @@ -44,15 +44,14 @@ public function it_saves_to_entry_model() 'data' => [ 'foo' => 'bar', ], - 'site' => 'en', - 'uri' => '/blog/the-slug', - 'date' => null, + 'site' => 'en', + 'uri' => '/blog/the-slug', + 'date' => null, 'collection' => 'blog', - 'blueprint' => 'blog', - 'published' => false, - 'status' => 'draft', - 'origin_id' => null, - 'order' => null, + 'blueprint' => 'blog', + 'published' => false, + 'origin_id' => null, + 'order' => null, ]); $collection = Collection::make('blog')->title('blog')->routes([