Wizard de instalação em PHP

12 visualizações
Pular para a primeira mensagem não lida

Bruno Kuhlmann Cechet

não lida,
17 de mai. de 2013, 07:17:0417/05/2013
para list...@googlegroups.com
Pessoal, bom dia!

Estou desenvolvendo um wizard de instalação para um sistema.
O usuário entra com algumas informações iniciais em um formulário, no segundo passo passa as informações de conexão com o banco de dados e no terceiro passo eu executo uma série de SQL's, que vai de grants, sinonimos, e pra finalizar criação de views.
Eu achei muito estranho colocar tanto código SQL no PHP - as views são grandes mesmo - então eu estou pegando o conteúdo dos arquivos com file_get_contents e mando executar.
No caso dos sinônimos e dos grants, ainda existe a seguinte questão:
create synonym CRM_CHMC for banco.CRM_CHMC;
grant all on web_usuario_admin to usuario;

Estou pensando: banco e usuario podem ser uma bind variable? Terá efeito? Ou terei que fazer algum tipo de replace depois de pegar o conteúdo do arquivo SQL?

Alguem ja passou por alguma situação parecida ou poderia me indicar alguma boa prática nesta questão?

Obrigado,
Bruno Cechet

Cassiano Ricardo Mourão

não lida,
17 de mai. de 2013, 07:31:3817/05/2013
para list...@googlegroups.com
Não sei se binda variables vai funcionar. Você já chegou a fazer algum teste?
De cara, eu faria com replace mesmo.
Sobre as consultas estarem todas "num PHP", ou num arquivo à parte como vc está fazendo, basicamente o que muda é a extensão do arquivo ehehehe. Se quiser organizar melhor, você pode colocar os sql num diretorio, com um prefixo indicando a ordem de execução e mandar o php ler 1 a 1. Dá um pouco mais de trabalho mas fica mais organizado, melhor de ver algum erro que possa dar, etc.


--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para listaphp+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Bruno Kuhlmann Cechet

não lida,
17 de mai. de 2013, 07:40:5517/05/2013
para list...@googlegroups.com
Bom dia Cassiano,

Ainda não realizei testei testes nessa etapa e no momento estou fazendo com replaces mesmo.
Por motivo de organização estou deixando os sql's de instalação em um diretório separado sim, colocando como prefixo a ordem de execução.

Jairo Silva

não lida,
17 de mai. de 2013, 07:42:5917/05/2013
para list...@googlegroups.com
Olá eu ja passei por algo parecido para banco e usuário voce grava um arquivo logo após o usuário entrar com as informaçoes e sempre recupera esses dados quando necessário usando simples include ou mesmo require.
Atenciosamente,

Jairo


Em 17 de maio de 2013 08:17, Bruno Kuhlmann Cechet <bruno...@gmail.com> escreveu:

Cassiano Ricardo Mourão

não lida,
17 de mai. de 2013, 08:00:5517/05/2013
para list...@googlegroups.com
Se ele usar include ou require, as consultas terão que estar numa variáveis para que as variáveia da consulta sejam interpretadas/"traduzidas" corretamente.
Nada impede isso, apenas a questão da legibilidade, visto que as consultas vão ficar encapsuladas em uma variável e abrir o documento num editor não vai forçar o highlight correspondente.

Ivo Sestren Junior

não lida,
17 de mai. de 2013, 08:29:2617/05/2013
para list...@googlegroups.com
Cria no arquivo principal uma variavel do tipo array.
Ex: $sql[] = array();

E neste mesmo arquivo vai dando include dos arquivos com os codigos SQL.
Nestes arquivos de codigo SQL utilize assim:
$sql[] = "CREATE TABLE $banco.TABELA ..."

Onde a variavel $banco é o nome do banco.

Assim não precisa rodar REPLACE, nem nada.

Depois no arquivo principal é só percorrer este array $sql e executar cada um dos comandos ali contidos.

Se não quer dar include em arquivo por arquivo, pode fazer um FOR em arquivos encontrados em determinado diretorio, mas neste caso tem que cuidar com a ordem dos arquivos, ja que provavelmente algum comando SQL dependa de outro comando executado anteriormente.

Ederson Pereira de Brito

não lida,
17 de mai. de 2013, 15:05:5117/05/2013
para list...@googlegroups.com
ja utilizei o seguinte xampp portável usb com bytessence sistema pronto so clicar em avançar e ja vai rodar o instalado para windows.

Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem