Skip to content

Commit 3daae59

Browse files
committed
fix: cover all variations of migration
1 parent e99234a commit 3daae59

File tree

1 file changed

+43
-24
lines changed

1 file changed

+43
-24
lines changed

nix/ext/pg_cron/default.nix

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,35 +37,54 @@ let
3737
'';
3838

3939
installPhase = ''
40-
mkdir -p $out/{lib,share/postgresql/extension}
41-
42-
# Install versioned library
43-
install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}-${version}${postgresql.dlSuffix}
44-
45-
46-
if [[ "${version}" == "${latestVersion}" ]]; then
47-
cp ${pname}.sql $out/share/postgresql/extension/${pname}--1.0.0.sql
48-
# Install upgrade scripts
49-
find . -name 'pg_cron--*--*.sql' -exec install -Dm644 {} $out/share/postgresql/extension/ \;
50-
mv $out/share/postgresql/extension/pg_cron--1.0--1.1.sql $out/share/postgresql/extension/pg_cron--1.0.0--1.1.0.sql
51-
mv $out/share/postgresql/extension/pg_cron--1.1--1.2.sql $out/share/postgresql/extension/pg_cron--1.1.0--1.2.0.sql
52-
mv $out/share/postgresql/extension/pg_cron--1.2--1.3.sql $out/share/postgresql/extension/pg_cron--1.2.0--1.3.1.sql
53-
mv $out/share/postgresql/extension/pg_cron--1.3--1.4.sql $out/share/postgresql/extension/pg_cron--1.3.1--1.4.2.sql
54-
mv $out/share/postgresql/extension/pg_cron--1.4--1.4-1.sql $out/share/postgresql/extension/pg_cron--1.4.0--1.4.1.sql
55-
mv $out/share/postgresql/extension/pg_cron--1.4-1--1.5.sql $out/share/postgresql/extension/pg_cron--1.4.2--1.5.2.sql
56-
mv $out/share/postgresql/extension/pg_cron--1.5--1.6.sql $out/share/postgresql/extension/pg_cron--1.5.2--1.6.4.sql
57-
fi
58-
cat > $out/share/postgresql/extension/pg_cron--1.6--1.6.4.sql << 'EOF'
40+
mkdir -p $out/{lib,share/postgresql/extension}
41+
42+
# Install versioned library
43+
install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}-${version}${postgresql.dlSuffix}
44+
45+
46+
if [[ "${version}" == "${latestVersion}" ]]; then
47+
cp ${pname}.sql $out/share/postgresql/extension/${pname}--1.0.0.sql
48+
# Install upgrade scripts
49+
find . -name 'pg_cron--*--*.sql' -exec install -Dm644 {} $out/share/postgresql/extension/ \;
50+
mv $out/share/postgresql/extension/pg_cron--1.0--1.1.sql $out/share/postgresql/extension/pg_cron--1.0.0--1.1.0.sql
51+
mv $out/share/postgresql/extension/pg_cron--1.1--1.2.sql $out/share/postgresql/extension/pg_cron--1.1.0--1.2.0.sql
52+
mv $out/share/postgresql/extension/pg_cron--1.2--1.3.sql $out/share/postgresql/extension/pg_cron--1.2.0--1.3.1.sql
53+
mv $out/share/postgresql/extension/pg_cron--1.3--1.4.sql $out/share/postgresql/extension/pg_cron--1.3.1--1.4.2.sql
54+
mv $out/share/postgresql/extension/pg_cron--1.4--1.4-1.sql $out/share/postgresql/extension/pg_cron--1.4.0--1.4.1.sql
55+
mv $out/share/postgresql/extension/pg_cron--1.4-1--1.5.sql $out/share/postgresql/extension/pg_cron--1.4.2--1.5.2.sql
56+
mv $out/share/postgresql/extension/pg_cron--1.5--1.6.sql $out/share/postgresql/extension/pg_cron--1.5.2--1.6.4.sql
57+
ln -s pg_cron--1.0.0--1.1.0.sql $out/share/postgresql/extension/pg_cron--1.0--1.1.sql
58+
ln -s pg_cron--1.0.0--1.1.0.sql $out/share/postgresql/extension/pg_cron--1.0.0--1.1.sql
59+
ln -s pg_cron--1.1.0--1.2.0.sql $out/share/postgresql/extension/pg_cron--1.1--1.2.sql
60+
ln -s pg_cron--1.1.0--1.2.0.sql $out/share/postgresql/extension/pg_cron--1.1.0--1.2.sql
61+
ln -s pg_cron--1.1.0--1.2.0.sql $out/share/postgresql/extension/pg_cron--1.1--1.2.0.sql
62+
ln -s pg_cron--1.2.0--1.3.1.sql $out/share/postgresql/extension/pg_cron--1.2--1.3.sql
63+
ln -s pg_cron--1.2.0--1.3.1.sql $out/share/postgresql/extension/pg_cron--1.2.0--1.3.sql
64+
ln -s pg_cron--1.2.0--1.3.1.sql $out/share/postgresql/extension/pg_cron--1.2--1.3.1.sql
65+
ln -s pg_cron--1.3.1--1.4.2.sql $out/share/postgresql/extension/pg_cron--1.3--1.4.sql
66+
ln -s pg_cron--1.3.1--1.4.2.sql $out/share/postgresql/extension/pg_cron--1.3.1--1.4.sql
67+
ln -s pg_cron--1.3.1--1.4.2.sql $out/share/postgresql/extension/pg_cron--1.3--1.4.2.sql
68+
ln -s pg_cron--1.4.0--1.4.1.sql $out/share/postgresql/extension/pg_cron--1.4--1.4-1.sql
69+
ln -s pg_cron--1.4.2--1.5.2.sql $out/share/postgresql/extension/pg_cron--1.4-1--1.5.sql
70+
ln -s pg_cron--1.4.2--1.5.2.sql $out/share/postgresql/extension/pg_cron--1.4.2--1.5.sql
71+
ln -s pg_cron--1.4.2--1.5.2.sql $out/share/postgresql/extension/pg_cron--1.4-1--1.5.2.sql
72+
ln -s pg_cron--1.5.2--1.6.4.sql $out/share/postgresql/extension/pg_cron--1.5--1.6.sql
73+
ln -s pg_cron--1.5.2--1.6.4.sql $out/share/postgresql/extension/pg_cron--1.5.2--1.6.sql
74+
ln -s pg_cron--1.5.2--1.6.4.sql $out/share/postgresql/extension/pg_cron--1.5--1.6.4.sql
75+
cat > $out/share/postgresql/extension/pg_cron--1.6--1.6.4.sql << 'EOF'
5976
-- Version alignment migration
6077
-- Both 1.6 and 1.6.4 are actually the same version (1.6.4)
6178
-- This file exists only to allow smooth transition from the old naming scheme
6279
EOF
80+
fi
6381
64-
# Create versioned control file with modified module path
65-
sed -e "/^default_version =/d" \
66-
-e "/^schema =/d" \
67-
-e "s|^module_pathname = .*|module_pathname = '\$libdir/${pname}'|" \
68-
${pname}.control > $out/share/postgresql/extension/${pname}--${version}.control
82+
83+
# Create versioned control file with modified module path
84+
sed -e "/^default_version =/d" \
85+
-e "/^schema =/d" \
86+
-e "s|^module_pathname = .*|module_pathname = '\$libdir/${pname}'|" \
87+
${pname}.control > $out/share/postgresql/extension/${pname}--${version}.control
6988
'';
7089

7190
meta = with lib; {

0 commit comments

Comments
 (0)