Building

Building a project

File

Content

[project]
version = "0.2.0-my-feature"
title = "my_project"

[database]
db = "postgres"

Directory

[[scripts]]
script = "posts.sql"
dependencies = ["users.sql"]
create table users (
    pk integer primary key auto increment,
    username text unique not null,
    password text not null
);
create table posts (
    pk integer primary key auto increment,
    user integer not null primary key users(pk)
);

Directory

> sqigl project build
-- [ my_project 0.2.0-my-feature ]

-- [ users.sql ]

create table users (
    pk integer primary key auto increment,
    username text unique not null,
    password text not null
);

-- [ posts.sql ]

create table posts (
    pk integer primary key auto increment,
    user integer not null primary key users(pk)
);

Dependency cycles

> sqigl project build
Error: A cycle exists between foo.sql and baz.sql:
    foo.sql -->
    bar.sql -->
    baz.sql --> foo.sql

Saving a build

> sqigl project save
2025-01-01T00:00:00.000Z INFO  [sqigl::actions::save] Saving project

File

Content

[project]
version = "0.2.0-my-feature"
title = "my_project"

[database]
db = "postgres"

Directory

[[scripts]]
script = "posts.sql"
dependencies = ["users.sql"]
create table users (
    pk integer primary key auto increment,
    username text unique not null,
    password text not null
);
create table posts (
    pk integer primary key auto increment,
    user integer not null primary key users(pk)
);

Directory

Directory

[[migrations]]
script = "schema.sql"
from = "=0.0.0"
to = "0.2.0-my-feature"
-- [ my_project 0.2.0-my-feature ]

-- [ users.sql ]

create table users (
    pk integer primary key auto increment,
    username text unique not null,
    password text not null
);

-- [ posts.sql ]

create table posts (
    pk integer primary key auto increment,
    user integer not null primary key users(pk)
);