package siprp.update.updates;

import com.evolute.utils.Singleton;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;

public class V10_0_To_V10_1
		implements siprp.update.Update
{
	
	public V10_0_To_V10_1()
	{
	}
	
	public String []listChanges()
	{
		return new String[]{
		                    "adicionadas normalizacoes para estabelecimentos e empresas"
		                    };
	}
	
	public double getStartVersion()
	{
		return 10.0;
	}
	
	public double getEndVersion()
	{
		return 10.1;
	}
	
	public void doUpdate()
		throws Exception
	{
		DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
		Executer executer = dbm.getSharedExecuter();
		com.evolute.utils.sql.Update update = 
			new com.evolute.utils.sql.Update(
				"CREATE TABLE hs_normalizacao_empresa " +
				"( " +
				"	normalizacao_id int4 REFERENCES hs_normalizacao(id), " +
				"	empresa_id int4 REFERENCES empresas(id), " +
				"	CONSTRAINT hs_normalizacao_empresa_pkey PRIMARY KEY(normalizacao_id,empresa_id) " +
				"); " +
				"CREATE TABLE hs_normalizacao_estabelecimento " +
				"( " +
				"	normalizacao_id int4 REFERENCES hs_normalizacao(id), " +
				"	estabelecimento_id int4 REFERENCES estabelecimentos(id), " +
				"	CONSTRAINT hs_normalizacao_estabelecimento_pkey PRIMARY KEY(normalizacao_id,estabelecimento_id) " +
				");"
		);
		executer.executeQuery( update );
	}
	
	public String toString()
	{
		return "v" + getStartVersion() + " para v" + getEndVersion();
	}
}
