forked from DebaucheryLibrarian/traxxx
				
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			703 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			703 B
		
	
	
	
		
			JavaScript
		
	
	
	
| exports.up = async function up(knex) {
 | |
| 	await knex.raw(`
 | |
| 		CREATE MATERIALIZED VIEW stashes_meta AS (
 | |
| 			SELECT
 | |
| 				stashes.id as stash_id,
 | |
| 				COUNT(DISTINCT stashes_scenes)::integer as stashed_scenes,
 | |
| 				COUNT(DISTINCT stashes_movies)::integer as stashed_movies,
 | |
| 				COUNT(DISTINCT stashes_actors)::integer as stashed_actors
 | |
| 			FROM stashes
 | |
| 			LEFT JOIN stashes_scenes ON stashes_scenes.stash_id = stashes.id
 | |
| 			LEFT JOIN stashes_movies ON stashes_movies.stash_id = stashes.id
 | |
| 			LEFT JOIN stashes_actors ON stashes_actors.stash_id = stashes.id
 | |
| 			GROUP BY stashes.id
 | |
| 		);
 | |
| 	`);
 | |
| };
 | |
| 
 | |
| exports.down = async function down(knex) {
 | |
| 	await knex.raw(`
 | |
| 		DROP MATERIALIZED VIEW IF EXISTS stashes_meta;
 | |
| 	`);
 | |
| };
 |