Merge pull request #195 from jaredwolff/fix/migration-media-sort-date
fix(migrations): handle pre-existing tables missing media_sort_date
This commit is contained in:
+2
-2
@@ -10,7 +10,7 @@ COPY static static
|
||||
# Create a minimal project to download and cache dependencies
|
||||
RUN mkdir -p src && \
|
||||
echo 'fn main() { println!("Dummy build for caching dependencies"); }' > src/main.rs && \
|
||||
RUSTFLAGS="-C target-cpu=native" cargo build --release && \
|
||||
cargo build --release && \
|
||||
rm -rf src static-dist target/release/deps/oxicloud* target/release/build/oxicloud-*
|
||||
# Stage 2: Build the application
|
||||
FROM rust:1.94.0-alpine3.23 AS builder
|
||||
@@ -27,7 +27,7 @@ COPY static static
|
||||
COPY migrations migrations
|
||||
# Build with all optimizations (DATABASE_URL only needed at compile-time for sqlx)
|
||||
ARG DATABASE_URL="postgres://postgres:postgres@localhost/oxicloud"
|
||||
RUN DATABASE_URL="${DATABASE_URL}" RUSTFLAGS="-C target-cpu=native" cargo build --release
|
||||
RUN DATABASE_URL="${DATABASE_URL}" cargo build --release
|
||||
|
||||
# Stage 3: Create minimal final image
|
||||
FROM alpine:3.23.3
|
||||
|
||||
@@ -560,6 +560,10 @@ CREATE TABLE IF NOT EXISTS storage.files (
|
||||
media_sort_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Ensure media_sort_date exists on pre-existing tables (CREATE TABLE IF NOT EXISTS skips it)
|
||||
ALTER TABLE storage.files ADD COLUMN IF NOT EXISTS
|
||||
media_sort_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- A user cannot have two non-trashed files with the same name in the same folder
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_files_unique_name_in_folder
|
||||
ON storage.files(folder_id, name, user_id) WHERE NOT is_trashed AND folder_id IS NOT NULL;
|
||||
|
||||
Reference in New Issue
Block a user