Finish schema version 1.
This commit is contained in:
		
							parent
							
								
									4b1fd6568f
								
							
						
					
					
						commit
						0213a8011f
					
				
					 1 changed files with 41 additions and 3 deletions
				
			
		|  | @ -180,9 +180,9 @@ BEGIN | |||
|     -- -------------------------------- | ||||
|     -- Transaction splits | ||||
| 
 | ||||
|     CREATE SEQUENCE public.transaction_splits_id_seq | ||||
|     CREATE SEQUENCE IF NOT EXISTS public.transaction_splits_id_seq | ||||
|       START WITH 1 INCREMENT BY 1; | ||||
|     CREATE TABLE public.transaction_splits ( | ||||
|     CREATE TABLE IF NOT EXISTS public.transaction_splits ( | ||||
| 	id INTEGER PRIMARY KEY NOT NULL DEFAULT NEXTVAL('public.transaction_splits_id_seq'::regclass), | ||||
| 
 | ||||
| 	transaction INTEGER NOT NULL, | ||||
|  | @ -268,8 +268,46 @@ BEGIN | |||
|        GROUP BY t.id, a.name | ||||
|        ORDER BY t.id DESC; | ||||
| 
 | ||||
|     -- -------------------------------- | ||||
|     -- Function to check schema version (used in migrations) | ||||
| 
 | ||||
|     CREATE OR REPLACE FUNCTION brmbar_privileged.has_exact_schema_version( | ||||
| 	    IN i_ver INTEGER | ||||
|     ) RETURNS INTEGER | ||||
|     VOLATILE  NOT LEAKPROOF  LANGUAGE plpgsql AS $x$ | ||||
|     DECLARE | ||||
| 	    v_ver INTEGER; | ||||
|     BEGIN | ||||
| 	    SELECT ver INTO v_ver FROM brmbar_privileged.brmbar_schema; | ||||
| 	    IF v_ver is NULL THEN | ||||
| 	      RETURN false; | ||||
| 	    ELSE | ||||
| 	      RETURN v_ver = i_ver; | ||||
| 	    END IF; | ||||
|     END; | ||||
|     $x$; | ||||
| 
 | ||||
|     -- -------------------------------- | ||||
|     --  | ||||
| 
 | ||||
|     CREATE OR REPLACE FUNCTION brmbar_privileged.upgrade_schema_version_to( | ||||
| 	    IN i_ver INTEGER | ||||
|     ) RETURNS INTEGER | ||||
|     VOLATILE  NOT LEAKPROOF  LANGUAGE plpgsql AS $x$ | ||||
|     DECLARE | ||||
| 	    v_ver INTEGER; | ||||
|     BEGIN | ||||
|       SELECT ver FROM brmbar_privileged.brmbar_schema INTO v_ver; | ||||
|       IF v_ver=(i_ver-1) THEN | ||||
|         UPDATE brmbar_privileged.brmbar_schema SET ver = i_ver; | ||||
|       ELSE | ||||
|         RAISE EXCEPTION 'Invalid brmbar schema version transition (% -> %)', v_ver, i_ver; | ||||
|       END IF; | ||||
|     END; | ||||
|     $x$; | ||||
| 
 | ||||
|     -- Initialize version 1 | ||||
|     -- INSERT INTO brmbar_privileged.brmbar_schema(ver) VALUES(1); | ||||
|     INSERT INTO brmbar_privileged.brmbar_schema(ver) VALUES(1); | ||||
|   END IF; | ||||
| END; | ||||
| $$; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue