Scripts
O Add-on Studio oferece suporte a de criação de scripts de banco de dados dentro do addon. Para criar um script de banco no Add-on Studio, basta seguir as instruções detalhadas nesta documentação, garantindo que o armazenamento e o acesso aos dados estejam alinhados com as melhores práticas e requisitos da plataforma.
Criando o arquivo de script
Os arquivos de script devem ser criados dentro do diretório dbscripts
no projeto do add-on. Para facilitar a manutenção e garantir uma melhor organização, adotamos um padrão de nomenclatura para os arquivos. Este padrão será especialmente útil quando houver múltiplos arquivos de script, exigindo a seguinte estrutura:
- O nome do arquivo deve começar com a letra "V" maiúscula, seguida de um número que indique a ordem de execução do script, e terminar com a extensão ".xml". Por exemplo: V1.xml, V2.xml, V3.xml, e assim por diante.
Seguir essa nomenclatura de versionamento é recomendado para garantir a atomicidade dos scripts e minimizar o risco de erros.
Importante
Caso a nomenclatura dos arquivos de scripts não siga o padrão recomendado, um erro será lançado no terminal da IDE após execução da task deployAddon.
A estrutura do arquivo de scripts deve seguir o padrão abaixo:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scripts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../.gradle/scripts.xsd">
<sql nomeTabela="TB_ORDEM" ordem="1" executar="SE_NAO_EXISTIR" tipoObjeto="TABLE" nomeObjeto="TB_ORDEM">
<mssql>
CREATE TABLE TB_ORDEM (
ID INT IDENTITY(1,1) PRIMARY KEY,
CARGA VARCHAR(50),
NUM_ORDEM VARCHAR(50),
DESCRICAO VARCHAR(255)
)
</mssql>
<oracle>
CREATE TABLE TB_ORDEM (
ID NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
CARGA VARCHAR2(50),
NUM_ORDEM VARCHAR2(50),
DESCRICAO VARCHAR2(255)
)
</oracle>
</sql>
<sql nomeTabela="TB_ORDEM" ordem="2" executar="SE_NAO_EXISTIR" tipoObjeto="COLUMN" nomeObjeto="COLUMN_TESTE">
<mssql>
ALTER TABLE TB_ORDEM ADD TESTE VARCHAR(10)
</mssql>
<oracle>
ALTER TABLE TB_ORDEM ADD TESTE VARCHAR2(10)
</oracle>
</sql>
</scripts>
Podemos observar que a tag existem alguns atributos, que são:
- nomeTabela: O atributo nomeTabela define qual será o nome da tabela a qual este script faz referência.
- ordem: O atributo ordem faz referência à ordem em que os scripts serão executados. Essa ordem deve SEMPRE ser um valor numérico e incremental, além disso, não podem haver ordens duplicadas dentro de um mesmo arquivo de scripts. É de vital importância prestar atenção a esta ordem. Se ela não for corretamente seguida, erros podem ocorrer durante o deploy do add-on.
- Exemplo: Não é possível criar uma VIEW antes que a tabela que esta view consultará seja criada. Da mesma forma como não é possível criar uma chave estrangeira antes de criar a Tabela referente à ela.
- executar: O atributo executar define quando um script deve ser executado.
- Exemplo: Um script de criar tabela SÓ deve ser executado SE a tabela NÃO existir. Já um script de UPDATE no banco de dados, talvez possa ser executado sempre. Seus valores possíveis são:
- SEMPRE: O script será executado SEMPRE.
- SE_NAO_EXISTIR: O script será executado somente se o objeto não existir.
- SE_EXISTIR: O Script será executado se o objeto existir.
- Exemplo: Um script de criar tabela SÓ deve ser executado SE a tabela NÃO existir. Já um script de UPDATE no banco de dados, talvez possa ser executado sempre. Seus valores possíveis são:
- tipoObjeto: O atributo tipoObjeto define qual o tipo do objeto representado no script. Seus possíveis valores são:
- COLUMN
- TABLE
- TRIGGER
- PROCEDURE
- FUNCTION
- FOREING KEY
- PRIMARY KEY
- INDEX
- VIEW
- CONSTRAINT
- nomeObjeto: O atributo nomeObjeto define o nome usado para identificar o addon no momento da instalação. É crucial que esse nome seja único para cada objeto a ser criado dentro do script.
Dica!
Para obter mais informações sobre cada item do menu, basta posicionar o cursor do mouse sobre o item desejado na IDE. A documentação correspondente será exibida automaticamente como uma dica ou pop-up.
As tags e indicam os trechos de script específicos para cada tipo de banco de dados. Se você estiver dando suporte apenas a um deles, inclua apenas a tag correspondente ao banco suportado.
Importante
Não recomendamos que os scripts tenham “;”, já que isso pode causar problemas durante a instalação do add-on.
Efetuando o deploy do addon
Após gerar seus scripts, execute o comando abaixo:
./gradlew clean deployAddon
Tanto no terminal da IDE quando no log do servidor a seguinte mensagem deve ser apresentada para cada objeto criado no script, conforme imagem abaixo:

Isso identifica que seus scripts foram processados sem nenhum erro. Acesse o banco de dados e confirme que seus objetos foram criados conforme o esperado.
Updated about 2 hours ago