Saltar para o conteúdo principal
Versão: 20 R7 BETA

Export structure file

Export structure file ( rotaPasta {; opções} ) : Object

ParâmetroTipoDescrição
rotaPastaTextRota da pasta destino para arquivos projeto
opçõesObjectOpções de exportação
ResultadoObjectEstado de validação e mensagens (se houver)

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comando Export structure file divide a estrutura atual do banco de dados 4D em um conjunto de arquivos de texto ou arquivos de imagem nativos e os armazena na rotaPastta especificada. Como padrão, se exporta a totalidade da estrutura do banco de dados (métodos, formulários, catálogo, etc.). Pode filtrar os conteúdos a exportar utilizando o parâmetro opções (ver abaixo).

Este comando lhe permite armazenar arquivos de estrutura de banco de dados em um repositório de controle de fonte (ou seja, Git, Perforce, etc.). As mudanças sucessivas ou as mudanças de várias fontes podem ser comparadas utilizando ferramentas normais de controle de fonte.

Este comando apenas pode ser utilizado nos contextos abaixo:

  • 4D em modo local ou 4D Server (um erro é devolvido se for chamado desde 4D em modo remoto),
  • Banco de dados interpretado (o comando não faz nada se for chamado desde um banco de dados .4DC)

Lembre também que quando for chamado desde um componente, o comando sempre exporta a estrutura do banco de dados local.

Em rotaPasta, passe a rota do sistema da pasta onde se devem salvar os arquivos de exportação.

O parâmetro opções lhe permite personalizar o processo de conversão. O objeto opções pode conter as propriedades abaixo:

Nome da propriedadeTipo de valorDescrição
withLogbooleano ou string
true ou "always": cria um arquivo de registro de conversão na pasta de Registros de destino.
"ifNotEmpty": cria um arquivo de registro de conversão apenas se conter algumas mensagens
false ou omitido (prè-determinado): não cria um arquivo de registro de conversão
makeProjectbooleantrue para gerar um arquivo .4DProject na pasta "Project"
filterobjetoConteúdos para exportar. Se for omitido (padrão normal), tudo se exporta
projectMethodsbooleanotrue para exportar métodos projeto
databaseMethodsbooleanotrue para exportar métodos banco de dados
triggerMethodsbooleanotrue para exportar métodos trigger
formsbooleanotrue para exportar formulários
pageFormatbooleanotrue para incluir o formato de página de formulário como propriedade "pageFormat" de cada arquivo json
catalogbooleanotrue para exportar definições de tabela e campo
foldersbooleanotrue para exportar as definições das pastas do Explorador
settingsbooleanotrue para exportar configurações de estrutura
menusbooleanotrue para exportar menus
tipsbooleanotrue para exportar dicas
listsbooleanotrue para exportar listas
filtersbooleanotrue para exportar filtros
picturesbooleanotrue para exportar imagens desde a biblioteca de imagens
resourcesbooleanotrue para exportar a pasta de Recursos
trashbooleanotrue para exportar métodos e formulários na lixeira (*)
windowPositionsbooleanotrue para exportar posições de janela
methodPreferencesbooleanotrue para exportar as preferências de editor de métodos
buildSettingsbooleanotrue para exportar o arquivo buildApp.xml
dataPathbooleanotrue para copiar a última rota de arquivo de dados no arquivo de preferências de usuário de projeto
directorybooleanotrue para exportar usuários e grupos 4D
styleSheetsbooleanotrue para exportar folhas de estilo como CSS
documentationbooleantrue para exportar comentários Explorer como arquivos do tipo markdown

(*) O filtro "trash" é útil apenas se também forem selecionados os filtros "projectMethods" ou "forms".

Atenção: quando for passado o parâmetro opções e for usado o objeto "filtro", deve declarar explicitamente cada propriedade para exportar com o valor true. Quando for passado este objeto, 4D assume que todas as propriedades estão em false como padrão.

Result

O comando devolve um objeto que oferece o estado final da exportação, assim como informação sobre problemas encontrados ou erros, se houver São devolvidas as propriedades abaixo:

Nome da propriedadeTipo de valorDescrição successbooleanoTrue se a operação de exportação for exitosa, do contrário false.
messagescolecciónColeção de objetos que descrevem problemas encontrados durante a operação de exportação
[ ].severitytextoNível de emissão. Valores possíveis: "info", "error". Só o nível de "erro" estabelece a propriedade "éxito" em false.
[ ].messagetextoDescrição do problema ou erro, por exemplo, "Não compatível com o tipo de objeto"
[ ].errorscolecciónPilha de erros (se houver)

Nota: os objetos de emissão podem incluir propriedades adicionais segundo o contexto.

Os erros possíveis incluem:

  • elementos duplicados
  • erros de gestão de arquivos (o arquivo já existe, arquivo bloqueado, disco cheio, etc.)

Exemplo 1

Se quiser exportar o arquivo de estrutura do banco de dados em uma pasta "Export" com a configuração pré-determinada:

 var $result : Object
 $result:=Export structure file("Export")
 If($result.success=True)
    ALERT("Export successful")
 Else
    ALERT("Error during export")
 End if

Exemplo 2

Se quiser exportar apenas os métodos projeto e banco de dados, e um arquivo de registro:

 var $option;$result : Object
 $option:=New object("filter";New object)
 $option.filter.projectMethods:=True
 $option.filter.databaseMethods:=True
 $option.withLog:="always"
 $result:=Export structure file("exportWithLog";$option)

Ver também

FORM Convert to dynamic