- Create settings table for site-wide key-value configuration - Create images table for BLOB storage of logo/header images - Add Setting schema with JSON/string/integer/boolean support - Add ThemeSettings embedded schema with all theme options - Add Settings context with get/put/update operations - Add Media context for image uploads and retrieval - Add Image schema with SVG detection and storage - Add 9 curated theme presets (gallery, studio, boutique, etc.) - Add comprehensive tests for Settings and Media contexts - Add seeds with default Studio preset - All tests passing (29 tests, 0 failures)
22 lines
612 B
Elixir
22 lines
612 B
Elixir
defmodule SimpleshopTheme.Repo.Migrations.CreateImages do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
create table(:images, primary_key: false) do
|
|
add :id, :binary_id, primary_key: true
|
|
add :image_type, :string, null: false
|
|
add :filename, :string, null: false
|
|
add :content_type, :string, null: false
|
|
add :file_size, :integer, null: false
|
|
add :data, :binary, null: false
|
|
add :is_svg, :boolean, default: false
|
|
add :svg_content, :text
|
|
add :thumbnail_data, :binary
|
|
|
|
timestamps(type: :utc_datetime)
|
|
end
|
|
|
|
create index(:images, [:image_type])
|
|
end
|
|
end
|