/*
 * V7_8_To_V7_9.java
 *
 * Created on December 19, 2007, 3:12 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package siprp.update.updates;

import com.evolute.module.updater.AbstractUpdate;
import com.evolute.utils.db.Executer;

/**
 *
 * @author fpalma
 */
public class V7_8_To_V7_9 extends AbstractUpdate
{
	
	public V7_8_To_V7_9()
	{
		super(7.8,7.9,"Alterar tabela dos estabelecimentos para ter prestadores por defeito");
	}
	
	@Override
	public void doUpdate() throws Exception
	{
		Executer executer = getExecuter();
		com.evolute.utils.sql.Update update = 
				new com.evolute.utils.sql.Update( 
					"ALTER TABLE estabelecimentos ADD prestador_consulta_id INTEGER REFERENCES prestadores( id );" );
		executer.executeQuery( update );
		update = 
			new com.evolute.utils.sql.Update( 
				"ALTER TABLE estabelecimentos ADD prestador_ecds_id INTEGER REFERENCES prestadores( id );" );
		executer.executeQuery( update );
		update = 
			new com.evolute.utils.sql.Update( 
				"ALTER TABLE estabelecimentos ADD aux INT REFERENCES contactos(id);" );
		executer.executeQuery( update );
		update = 
			new com.evolute.utils.sql.Update( 
				"UPDATE estabelecimentos SET aux = CAST( contacto AS INTEGER);" );
		executer.executeQuery( update );
		update = 
			new com.evolute.utils.sql.Update( 
				"ALTER TABLE estabelecimentos RENAME contacto TO contacto_backup;" );
		executer.executeQuery( update );
		update = 
			new com.evolute.utils.sql.Update( 
					"ALTER TABLE estabelecimentos RENAME aux TO contacto_id;" );
		executer.executeQuery( update );
	}
	
}
