diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d4fefdaa..d4e1b8e5 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -106,6 +106,8 @@ PRODUCTION_REMOTE_PATH # Same as STAGING_REMOTE_PATH but for the production env ## Docker +If unspecific issues appear try using Docker version >= 20.10.14. + This repo [ships a docker setup](docker/dev) for a quick development start. If you use another uid/gid than 1000 on your machine you have to adjust it in [docker/dev/.env](docker/dev/.env). @@ -121,26 +123,26 @@ Run these commands once initially and then as required after changes ```bash # Install composer dependencies -docker exec -it engelsystem_dev-es_workspace-1 composer i +docker-compose exec es_workspace composer i # Install node packages -docker exec -it engelsystem_dev-es_workspace-1 yarn install +docker-compose exec es_workspace yarn install # Run a front-end build -docker exec -it engelsystem_dev-es_workspace-1 yarn build +docker-compose exec es_workspace yarn build # Update the translation files -docker exec -it engelsystem_dev-es_workspace-1 find /var/www/resources/lang -type f -name '*.po' -exec sh -c 'file="{}"; msgfmt "${file%.*}.po" -o "${file%.*}.mo"' \; +docker-compose exec es_workspace find /var/www/resources/lang -type f -name '*.po' -exec sh -c 'file="{}"; msgfmt "${file%.*}.po" -o "${file%.*}.mo"' \; # Run the migrations -docker exec -it engelsystem_dev-es_workspace-1 bin/migrate +docker-compose exec es_workspace bin/migrate ``` While developing you may use the watch mode to rebuild the system on changes ```bash # Run a front-end build -docker exec -it engelsystem_dev-es_workspace-1 yarn build:watch +docker-compose exec es_workspace yarn build:watch ``` **Hint for using Xdebug with *PhpStorm*** diff --git a/db/migrations/2020_11_20_000000_add_name_minutes_and_timestamps_to_schedules.php b/db/migrations/2020_11_20_000000_add_name_minutes_and_timestamps_to_schedules.php index fcd41c1c..8c6191c8 100644 --- a/db/migrations/2020_11_20_000000_add_name_minutes_and_timestamps_to_schedules.php +++ b/db/migrations/2020_11_20_000000_add_name_minutes_and_timestamps_to_schedules.php @@ -19,10 +19,10 @@ class AddNameMinutesAndTimestampsToSchedules extends Migration $this->schema->table( 'schedules', function (Blueprint $table) { - $table->string('name')->after('id'); - $table->integer('shift_type')->after('name'); - $table->integer('minutes_before')->after('shift_type'); - $table->integer('minutes_after')->after('minutes_before'); + $table->string('name')->default('')->after('id'); + $table->integer('shift_type')->default(0)->after('name'); + $table->integer('minutes_before')->default(0)->after('shift_type'); + $table->integer('minutes_after')->default(0)->after('minutes_before'); $table->timestamps(); } ); @@ -34,6 +34,16 @@ class AddNameMinutesAndTimestampsToSchedules extends Migration 'minutes_after' => 15, ]); + $this->schema->table( + 'schedules', + function (Blueprint $table) { + $table->string('name')->default(null)->change(); + $table->integer('shift_type')->default(null)->change(); + $table->integer('minutes_before')->default(null)->change(); + $table->integer('minutes_after')->default(null)->change(); + } + ); + // Add legacy reference if ($this->schema->hasTable('ShiftTypes')) { $connection = $this->schema->getConnection(); diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index cc89b9f4..f1838b32 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -16,4 +16,5 @@ ENV TRUSTED_PROXIES 10.0.0.0/8,::ffff:10.0.0.0/8,\ # Engelsystem development workspace # Contains all tools required to build / manage the system FROM es_php_fpm AS es_workspace -RUN apk add --no-cache composer gettext nodejs npm yarn +RUN apk add --no-cache gettext nodejs npm yarn +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer diff --git a/tests/Feature/Model/LogEntryTest.php b/tests/Feature/Model/LogEntryTest.php index a8dd6961..f6ba962b 100644 --- a/tests/Feature/Model/LogEntryTest.php +++ b/tests/Feature/Model/LogEntryTest.php @@ -3,10 +3,10 @@ namespace Engelsystem\Test\Feature\Model; use Engelsystem\Models\LogEntry; -use PHPUnit\Framework\TestCase; +use Engelsystem\Test\Feature\ApplicationFeatureTest; use Psr\Log\LogLevel; -class LogEntryTest extends TestCase +class LogEntryTest extends ApplicationFeatureTest { /** * @covers \Engelsystem\Models\LogEntry::filter