sqltrack.commands.migrate module#
- sqltrack.commands.migrate.migrate(client: Client, paths: Iterable[str] | Path)[source]#
Execute SQL scripts to setup/migrate the database. The included
base.sql
script is always executed first. User-defined scripts are run in the order they are given. A script is never run twice. Whether a script has already been run before is determined by filename. Thusbase.sql
cannot be used as filename for user-defined scripts.Example script with timestamps, loss and accuracies for training, validation, and test phases:
BEGIN; ALTER TABLE metrics ADD COLUMN train_start TIMESTAMP WITH TIME ZONE, ADD COLUMN train_end TIMESTAMP WITH TIME ZONE, ADD COLUMN train_loss FLOAT, ADD COLUMN train_top1 FLOAT, ADD COLUMN train_top5 FLOAT, ADD COLUMN val_start TIMESTAMP WITH TIME ZONE, ADD COLUMN val_end TIMESTAMP WITH TIME ZONE, ADD COLUMN val_loss FLOAT, ADD COLUMN val_top1 FLOAT, ADD COLUMN val_top5 FLOAT, ADD COLUMN test_start TIMESTAMP WITH TIME ZONE, ADD COLUMN test_end TIMESTAMP WITH TIME ZONE, ADD COLUMN test_loss FLOAT, ADD COLUMN test_top1 FLOAT, ADD COLUMN test_top5 FLOAT; END;
- Parameters:
client – Client to connect to the database
paths – Paths to SQL scripts; executed in the order that they are given