about summary refs log tree commit diff stats
path: root/scripts/mkdb.sh
blob: a6b453ca37e8b55c7b809fad392ff8d582e8ed4c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env sh

# yt - A fully featured command line YouTube client
#
# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of Yt.
#
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.

root="$(dirname "$0")/.."
db="$root/target/database.sqlx"

[ -f "$db" ] && rm "$db"
[ -d "$root/target" ] || mkdir "$root/target"

fd . "$root/yt/src/storage/migrate/sql" | while read -r sql_file; do
    echo "Applying sql migration file: $(basename "$sql_file").."
    {
        # NOTE(@bpeetz): The wrapping in a transaction is needed to simulate the rust code. <2025-05-07>
        echo "BEGIN TRANSACTION;"
        cat "$sql_file"
        echo "COMMIT TRANSACTION;"
    } | sqlite3 "$db"
done

# vim: ft=sh