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
|
# Create a minimal project to download and cache dependencies
|
||||||
RUN mkdir -p src && \
|
RUN mkdir -p src && \
|
||||||
echo 'fn main() { println!("Dummy build for caching dependencies"); }' > src/main.rs && \
|
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-*
|
rm -rf src static-dist target/release/deps/oxicloud* target/release/build/oxicloud-*
|
||||||
# Stage 2: Build the application
|
# Stage 2: Build the application
|
||||||
FROM rust:1.94.0-alpine3.23 AS builder
|
FROM rust:1.94.0-alpine3.23 AS builder
|
||||||
@@ -27,7 +27,7 @@ COPY static static
|
|||||||
COPY migrations migrations
|
COPY migrations migrations
|
||||||
# Build with all optimizations (DATABASE_URL only needed at compile-time for sqlx)
|
# Build with all optimizations (DATABASE_URL only needed at compile-time for sqlx)
|
||||||
ARG DATABASE_URL="postgres://postgres:postgres@localhost/oxicloud"
|
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
|
# Stage 3: Create minimal final image
|
||||||
FROM alpine:3.23.3
|
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
|
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
|
-- 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
|
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;
|
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