Skip to content

Commit 59676f2

Browse files
committed
sip
1 parent 6971707 commit 59676f2

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

Envoy.blade.php

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -157,28 +157,40 @@
157157
current_release=$(readlink -f {{ $app_dir }}/current)
158158
echo "Current release: $(basename $current_release)"
159159

160-
# Ambil rilis sebelumnya
161-
previous_release=$(ls -dt {{ $releases_dir }}/* | sed -n '2p')
160+
# Ambil rilis terbaru (yang gagal)
161+
latest_release=$(ls -dt {{ $releases_dir }}/* | head -n 1)
162162

163-
if [ -z "$previous_release" ]; then
164-
echo "No previous release found. Rollback aborted."
163+
if [ -z "$latest_release" ]; then
164+
echo "No latest release found. Rollback aborted."
165165
exit 1
166166
fi
167167

168-
echo "Rolling back to: $(basename $previous_release)"
168+
echo "Latest failed release: $(basename $latest_release)"
169+
170+
# Cek status migrasi untuk current release
171+
echo "Checking migration status for current release"
172+
current_migrated_count=$(cd $current_release && php artisan migrate:status | grep '\[1\]' | wc -l)
173+
174+
# Cek status migrasi untuk latest failed release
175+
echo "Checking migration status for latest failed release"
176+
latest_migrated_count=$(cd $latest_release && php artisan migrate:status | grep '\[1\]' | wc -l)
177+
178+
echo "Current release migrations count: $current_migrated_count"
179+
echo "Latest failed release migrations count: $latest_migrated_count"
169180

170181
# Hapus symlink current
171182
rm {{ $app_dir }}/current
172183

173184
# Buat symlink ke rilis sebelumnya
174-
ln -s $previous_release {{ $app_dir }}/current
175-
176-
# Pindah ke rilis sebelumnya
177-
cd $previous_release
185+
ln -s $latest_release {{ $app_dir }}/current
178186

179-
# Rollback migrasi
180-
echo "Rolling back last batch of migrations"
181-
php artisan migrate:rollback --force
187+
# Jika jumlah migrasi di current release lebih banyak dari latest release, lakukan rollback
188+
if [ "$current_migrated_count" -gt "$latest_migrated_count" ]; then
189+
echo "Rolling back last batch of migrations"
190+
php artisan migrate:rollback --force
191+
else
192+
echo "No migrations to rollback, current migrations match or are fewer than latest release"
193+
fi
182194

183195
# Bersihkan cache
184196
echo "Clearing application cache"
@@ -190,17 +202,9 @@
190202
echo "Restarting PHP-FPM"
191203
sudo systemctl restart php8.3-fpm
192204

193-
# Ambil rilis terakhir
194-
latest_release=$(ls -dt {{ $releases_dir }}/* | head -n 1)
195-
echo "Latest release failed: $(basename $latest_release)"
196-
197-
if [ -z "$latest_release" ]; then
198-
echo "No latest release found. Rollback aborted."
199-
exit 1
200-
fi
201-
202-
echo "Removing failed release"
205+
# Hapus rilis yang gagal
206+
echo "Removing failed release: $(basename $latest_release)"
203207
rm -rf $latest_release
204208

205209
echo "Rollback completed successfully"
206-
@endtask
210+
@endtask

0 commit comments

Comments
 (0)