chore: combine migrations into one
							parent
							
								
									2be126a7b3
								
							
						
					
					
						commit
						7ce41cd034
					
				|  | @ -1,2 +0,0 @@ | |||
| drop table sessions; | ||||
| drop table users; | ||||
|  | @ -1,13 +0,0 @@ | |||
| create table users ( | ||||
|     id integer primary key not null, | ||||
|     username text unique not null, | ||||
|     password_hash text not null | ||||
| ); | ||||
| 
 | ||||
| create table sessions ( | ||||
|     id bigint primary key not null, | ||||
|     user_id bigint not null | ||||
|         references users (id) | ||||
|         on delete cascade, | ||||
|     unique (id, user_id) | ||||
| ); | ||||
|  | @ -0,0 +1,8 @@ | |||
| drop table episode_actions; | ||||
| 
 | ||||
| drop table subscriptions; | ||||
| 
 | ||||
| drop table devices; | ||||
| 
 | ||||
| drop table sessions; | ||||
| drop table users; | ||||
|  | @ -0,0 +1,69 @@ | |||
| create table users ( | ||||
|     id integer primary key not null, | ||||
|     username text unique not null, | ||||
|     password_hash text not null | ||||
| ); | ||||
| 
 | ||||
| create table sessions ( | ||||
|     id bigint primary key not null, | ||||
|     user_id bigint not null | ||||
|         references users (id) | ||||
|         on delete cascade, | ||||
|     unique (id, user_id) | ||||
| ); | ||||
| 
 | ||||
| create table devices ( | ||||
|     id integer primary key not null, | ||||
| 
 | ||||
|     device_id text not null, | ||||
|     user_id bigint not null | ||||
|         references users (id) | ||||
|         on delete cascade, | ||||
| 
 | ||||
|     caption text not null, | ||||
|     type text not null, | ||||
| 
 | ||||
|     unique (user_id, device_id) | ||||
| ); | ||||
| 
 | ||||
| create table subscriptions ( | ||||
|     id integer primary key not null, | ||||
|     device_id bigint not null | ||||
|         references devices (id) | ||||
|         on delete cascade, | ||||
|     url text not null, | ||||
| 
 | ||||
|     time_changed bigint not null default 0, | ||||
|     deleted boolean not null default false, | ||||
| 
 | ||||
|     unique (device_id, url) | ||||
| ); | ||||
| 
 | ||||
| create table episode_actions ( | ||||
|     id integer primary key not null, | ||||
| 
 | ||||
|     subscription_id bigint not null | ||||
|         references subscriptions (id) | ||||
|         on delete cascade, | ||||
| 
 | ||||
|     -- Can be null, as the device is not always provided | ||||
|     device_id bigint | ||||
|         references devices (id) | ||||
|         on delete set null, | ||||
| 
 | ||||
|     episode text not null, | ||||
|     timestamp bigint, | ||||
|     action text not null, | ||||
|     started integer, | ||||
|     position integer, | ||||
|     total integer, | ||||
| 
 | ||||
|     -- Position should be set if the action type is "Play" and null otherwise | ||||
|     check ((action = "Play") = (position is not null)), | ||||
| 
 | ||||
|     -- Started and position can only be set if the action type is "Play" | ||||
|     check (action = "Play" or (started is null and position is null)), | ||||
| 
 | ||||
|     -- Started and position should be provided together | ||||
|     check ((started is null) = (total is null)) | ||||
| ); | ||||
|  | @ -1 +0,0 @@ | |||
| drop table devices; | ||||
|  | @ -1,13 +0,0 @@ | |||
| create table devices ( | ||||
|     id integer primary key not null, | ||||
| 
 | ||||
|     device_id text not null, | ||||
|     user_id bigint not null | ||||
|         references users (id) | ||||
|         on delete cascade, | ||||
| 
 | ||||
|     caption text not null, | ||||
|     type text not null, | ||||
| 
 | ||||
|     unique (user_id, device_id) | ||||
| ); | ||||
|  | @ -1 +0,0 @@ | |||
| drop table subscriptions; | ||||
|  | @ -1,9 +0,0 @@ | |||
| create table subscriptions ( | ||||
|     id integer primary key not null, | ||||
|     device_id bigint not null | ||||
|         references devices (id) | ||||
|         on delete cascade, | ||||
|     url text not null, | ||||
| 
 | ||||
|     unique (device_id, url) | ||||
| ); | ||||
|  | @ -1,6 +0,0 @@ | |||
| -- This file should undo anything in `up.sql` | ||||
| alter table subscriptions | ||||
|     drop column time_changed; | ||||
| 
 | ||||
| alter table subscriptions | ||||
|     drop column deleted; | ||||
|  | @ -1,6 +0,0 @@ | |||
| -- Your SQL goes here | ||||
| alter table subscriptions | ||||
|     add column time_changed bigint not null default 0; | ||||
| 
 | ||||
| alter table subscriptions | ||||
|     add column deleted boolean not null default false; | ||||
		Loading…
	
		Reference in New Issue