Skip to content
Fernando edited this page Nov 21, 2018 · 3 revisions

Explica como criar o banco de dados do SIGA.

Introdução

Este documento explica como preparar o banco de dados para executar o SIGA. É recomendável realizar todos os passos em um ambiente de homologação ANTES de executá-los em produção. Adapte o procedimento da melhor forma possível para o seu ambiente.

Instruções

Preparando o flyway

  • Faça o download da versão de linha do comando do Flyway. Obs.: Baixar essa versão do link (flyway-commandline-1.5) para evitar FlywayException: Wrong migration name format

  • Descompacte o Flyway

  • Coloque o ojdbc14.jar na pasta "jars" do Flyway

  • Coloque os seguintes arquivos no diretório CONF do Flyway

    • flyway.corporativo.properties

      flyway.driver=oracle.jdbc.driver.OracleDriver
      flyway.url=jdbc:oracle:thin:@localhost:1521:xe
      flyway.user=system
      flyway.password=Password1
      flyway.schemas=corporativo
      flyway.sqlMigrationPrefix=CORPORATIVO_UTF8_V	
      
    • flyway.siga.properties

      flyway.driver=oracle.jdbc.driver.OracleDriver
      flyway.url=jdbc:oracle:thin:@localhost:1521:xe
      flyway.user=system
      flyway.password=Password1
      flyway.schemas=siga
      flyway.sqlMigrationPrefix=SIGA_UTF8_V
      
    • flyway.sigawf.properties

      flyway.driver=oracle.jdbc.driver.OracleDriver
      flyway.url=jdbc:oracle:thin:@localhost:1521:xe
      flyway.user=system
      flyway.password=Password1
      flyway.schemas=sigawf
      flyway.sqlMigrationPrefix=SIGAWF_UTF8_V
      
  • Baixe do repositório os projetos do SIGA que contém os scripts ou atualize-os (com um PULL) caso você já tenha baixado.

  • Crie os links simbólicos para o caminho dos scripts

    • Windows (supondo que o flyway foi extraído em c:\flyway):

      mklink /D c:\flyway\sql\corporativo  c:\Trabalhos\Repositorios\_git_google\siga-cp\src
      mklink /D c:\flyway\sql\siga c:\Trabalhos\Repositorios\_git_google\siga-ex\src
      mklink /D c:\flyway\sql\sigawf  c:\Trabalhos\Repositorios\_git_google\siga-wf\src
    • Linux (supondo que o flyway foi extraído em /opt/flyway):

      ln -s /home/user/Trabalhos/Repositorios/_git_google/siga-cp/src /opt/flyway/sql/siga-cp 
      ln -s /home/user/Trabalhos/Repositorios/_git_google/siga-ex/src /opt/flyway/sql/siga-ex
      ln -s /home/user/Trabalhos/Repositorios/_git_google/siga-wf/src /opt/flyway/sql/siga-wf 		

Atenção!
Leia todo o texto antes de prosseguir!

Executando o Flyway

Se o banco de dados do SIGA ainda NÃO EXISTE no seu ambiente

  • Crie os SCHEMAS:

    CREATE USER corporativo IDENTIFIED BY corporativo default tablespace USERS;
    CREATE USER siga IDENTIFIED BY siga default tablespace USERS;
    CREATE USER sigawf IDENTIFIED BY sigawf default tablespace USERS;
    grant connect,resource to SIGA;
    grant connect,resource to SIGAWF;
    Grant connect,resource to CORPORATIVO;
  • No diretório do flyway execute:

    flyway -configFile=conf/flyway.corporativo.properties init
    flyway -configFile=conf/flyway.siga.properties init
    flyway -configFile=conf/flyway.sigawf.properties init
    
    flyway -configFile=conf/flyway.corporativo.properties migrate
    flyway -configFile=conf/flyway.siga.properties migrate
    flyway -configFile=conf/flyway.sigawf.properties migrate

Se o banco de dados do SIGA JÁ EXISTE no seu ambiente e está na mesma versão da SJRJ

  • No diretório do flyway execute:

    flyway -configFile=conf/flyway.corporativo.properties -initialVersion=[NOME_DA_VERSAO_SJRJ] init 
    flyway -configFile=conf/flyway.siga.properties -initialVersion=[NOME_DA_VERSAO_SJRJ] init 
    flyway -configFile=conf/flyway.sigawf.properties -initialVersion=[NOME_DA_VERSAO_SJRJ] init 	

OBS: o nome da primeira versão da SJRJ é 1.criacao.do.banco

Mais informações: flyway -configFile=conf/flyway.[NOME_DO_SCHEMA].properties [COMANDO_FLYWAY]

onde:

[NOME_DO_SCHEMA] deve ser corporativo, siga ou sigawf. 
[COMANDO_FLYWAY] deve ser um comando do flyway (init, migrate, etc.)

Exemplos: flyway -configFile=conf/flyway.corporativo.properties init - para iniciar o controle do flyway no schema corporativo flyway -configFile=conf/flyway.sigawf.properties migrate - para atualizar o schema sigawf para a última versão.

Erros Conhecidos

Sintoma

FlywayException: Error instantiating database driver: oracle.jdbc.driver.OracleDriver
Occured in com.googlecode.flyway.core.Flyway in method configure, line number 739
Caused by java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Occured in java.net.URLClassLoader$1 in method run, line number 200

Causa

O driver jdbc não está instalado

Solução

Coloque o ojdbc14.jar na pasta lib do flyway

Clone this wiki locally