Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/explodinglabs/sqitch-templates


https://github.com/explodinglabs/sqitch-templates

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# sqitch-templates

Clone into `~/.sqitch/templates`:
```sh
git clone https://github.com/explodinglabs/sqitch-templates ~/.sqitch/templates
```

Add an ad-hoc change:
```sh
sqitch add [change] --note 'What it does'
```

## Schemas

Create schema:
```sh
create-schema [schema]
```

Drop schema (does not cascade, so drop everything in the schema first):
```sh
drop-schema [schema]
```

## Tables

Create table (edit the table):
```sh
create-table [schema] [table]
```

Drop table:
```sh
drop-table [schema] [table]
```

Add column:
```sh
add-column [schema] [table] [column]
```

Rename column:
```sh
```

Drop column:
```sh
drop-column [schema] [table] [column]
```

## Roles

Create role:
```sh
create-role [role] nologin
```

Grant schema usage:
```sh
grant-usage [schema] [role]
./sqitch add grant_api_usage_to_anon --template grant_schema_usage --set schema=api --set role=anon --note 'Grant usage on api schema to anon'
```

Grant select:
```sh
grant-select [schema] [table] [role]
./sqitch add grant_select_api_teams --template grant_view_privileges --set type=select --set schema=api --set table=teams --set role=web_user --note 'Grant select on api.teams to web_user'
```

Grant function execute (edit the function params):
```sh
./sqitch add grant_execute_api_foo --template grant_execute --set name=api.login --set role=web_user --note 'Grant execute on api.login to web_user'
```

Grant role membership (i.e. `grant [role] to [role]`.):
```sh
grant [role] [role]
./sqitch add grant_role_membership_foo --template grant_role_membership --set from_role=web_user --set role=authenticator --note 'Grant web_user to authenticator'
```

## Functions

Create function:
```sh
create-function data playlist_updated
```

Drop function (edit the revert script to add the function back):
```sh
```

To edit a function, just edit the "create function" deploy script and sqitch
rebase, or if the project has been deployed to another environment, do a sqitch
rework.

## Triggers

Create trigger:
```sh
create-trigger [schema] [table] [trigger] [function]
```

Drop trigger:
```sh
```

## Extensions

```sh
create-extension [extension]
```

## Views

Create view (Then edit the select statement):
```sh
./sqitch add create_view_api_teams --template create_view --set schema=api --set name=teams --note 'Add api.teams view'
```