Skip to content

Commit a1fd626

Browse files
committed
Add ImageMagick pre-flight check to db:seed
Validates ImageMagick (convert or magick) is installed before attempting to seed the database. Fails fast with clear installation instructions instead of silently producing incomplete data.
1 parent ca69748 commit a1fd626

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

db/seeds.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,25 @@
11
if Rails.env.development?
2+
# Check for ImageMagick before seeding
3+
imagemagick_available = system('convert --version > /dev/null 2>&1') ||
4+
system('magick --version > /dev/null 2>&1')
5+
6+
unless imagemagick_available
7+
Rails.logger.error "=" * 80
8+
Rails.logger.error "ERROR: ImageMagick is required to run db:seed"
9+
Rails.logger.error "=" * 80
10+
Rails.logger.error ""
11+
Rails.logger.error "The seed task processes sponsor logo images, which requires ImageMagick."
12+
Rails.logger.error ""
13+
Rails.logger.error "Install ImageMagick:"
14+
Rails.logger.error " macOS: brew install imagemagick"
15+
Rails.logger.error " Ubuntu/Debian: apt-get install imagemagick"
16+
Rails.logger.error " Windows: https://imagemagick.org/script/download.php"
17+
Rails.logger.error ""
18+
Rails.logger.error "See native-installation-instructions.md for details."
19+
Rails.logger.error "=" * 80
20+
exit 1
21+
end
22+
223
begin
324
Rails.logger.info 'Running migrations...'
425
Rails.application.config.log_level = :info

0 commit comments

Comments
 (0)