mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 13:51:35 +01:00 
			
		
		
		
	Testing: Update postgres sequences (#9304)
This commit is contained in:
		
							parent
							
								
									2d8a89563d
								
							
						
					
					
						commit
						d3a9c4ceec
					
				| @ -35,5 +35,37 @@ func LoadFixtures() error { | ||||
| 	if err != nil { | ||||
| 		fmt.Printf("LoadFixtures failed after retries: %v\n", err) | ||||
| 	} | ||||
| 	// Now if we're running postgres we need to tell it to update the sequences | ||||
| 	if x.Dialect().DriverName() == "postgres" { | ||||
| 		results, err := x.QueryString(`SELECT 'SELECT SETVAL(' || | ||||
| 		quote_literal(quote_ident(PGT.schemaname) || '.' || quote_ident(S.relname)) || | ||||
| 		', COALESCE(MAX(' ||quote_ident(C.attname)|| '), 1) ) FROM ' || | ||||
| 		quote_ident(PGT.schemaname)|| '.'||quote_ident(T.relname)|| ';' | ||||
| 	 FROM pg_class AS S, | ||||
| 	      pg_depend AS D, | ||||
| 	      pg_class AS T, | ||||
| 	      pg_attribute AS C, | ||||
| 	      pg_tables AS PGT | ||||
| 	 WHERE S.relkind = 'S' | ||||
| 	     AND S.oid = D.objid | ||||
| 	     AND D.refobjid = T.oid | ||||
| 	     AND D.refobjid = C.attrelid | ||||
| 	     AND D.refobjsubid = C.attnum | ||||
| 	     AND T.relname = PGT.tablename | ||||
| 	 ORDER BY S.relname;`) | ||||
| 		if err != nil { | ||||
| 			fmt.Printf("Failed to generate sequence update: %v\n", err) | ||||
| 			return err | ||||
| 		} | ||||
| 		for _, r := range results { | ||||
| 			for _, value := range r { | ||||
| 				_, err = x.Exec(value) | ||||
| 				if err != nil { | ||||
| 					fmt.Printf("Failed to update sequence: %s Error: %v\n", value, err) | ||||
| 					return err | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user