43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| 
 | |
| from django.db import migrations
 | |
| 
 | |
| CREATE_VIEWS="""
 | |
| create view seminar_body_za_cislo as
 | |
|   select
 | |
|     sr.cislo_body_id || '-' || sr.resitel_id as id,
 | |
|     sr.cislo_body_id as cislo_id,
 | |
|     sr.resitel_id as resitel_id,
 | |
|     sum(sr.body) as body
 | |
|   from seminar_reseni as sr
 | |
|   group by sr.cislo_body_id, sr.resitel_id
 | |
|   order by body desc;
 | |
| 
 | |
| create view seminar_body_k_cislu as
 | |
|   select
 | |
|     akt_c.id || '-' || min_bzc.resitel_id as id,
 | |
|     akt_c.id as cislo_id,
 | |
|     min_bzc.resitel_id as resitel_id,
 | |
|     max(akt_bzc.body) as body,
 | |
|     sum(min_bzc.body) as body_celkem
 | |
|   from ((seminar_cisla as akt_c
 | |
|     inner join seminar_cisla as min_c on min_c.rocnik_id = akt_c.rocnik_id and akt_c.cislo >= min_c.cislo)
 | |
|     inner join seminar_body_za_cislo as min_bzc on min_c.id = min_bzc.cislo_id)
 | |
|     left outer join seminar_body_za_cislo as akt_bzc on akt_bzc.cislo_id = akt_c.id and akt_bzc.resitel_id = min_bzc.resitel_id 
 | |
|   group by akt_c.id, min_bzc.resitel_id, akt_bzc.resitel_id
 | |
|   order by body_celkem desc;
 | |
| """
 | |
| 
 | |
| DROP_VIEWS="""
 | |
| drop view seminar_body_k_cislu;
 | |
| drop view seminar_body_za_cislo;
 | |
| """
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
| 
 | |
|     dependencies = [("seminar", "0001_initial")]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.RunSQL(sql=CREATE_VIEWS, reverse_sql=DROP_VIEWS)
 | |
|         ]
 | |
| 
 |