Autor Tópico: Dois ambientes, Produção e Des. e conexões diferente, form dá erro ao ser gerado  (Lida 1777 vezes)

João Carlos TR

  • Iniciante
  • **
  • Mensagens: 50
    • Email
Olá pessoal,

temos dois ambientes e banco de dados distintos de Desenvolvimento e Produção.

Desenvolvemos usando uma base de testes idêntica a de Produção, tendo 2 projetos praticamente idênticos.
Quando a aplicação está pronta e testada no Projeto de  Desenvolvimento, inclusive é publicada no domínio de desenvolvimento, copiamos a aplicação para o Projeto de Produção para publicar no domínio de Produção.

No Projeto de Produção, abrimos a Aplicação para trocar a conexão para o BD de Produção e publicar a Aplicação, mas está ocorrendo um erro ao gerar a Aplicação para publicá-la:
Fatal error: Call to a member function Close() on a non-object in /home/softasso/public_html/scriptcase/devel/lib/php/database.inc.php on line 3300

Ao Executar a Aplicação, também ocorre um erro:
ocorreu um erro ao realizar a conexão com o banco de dados. Connection attempt failed: invalid data source name | Script: /home/softasso/public_html/scriptcase/devel/compat/nm_select.class.php linha: 420

Tudo está rodando em ambiente web, num VPS.
Essa estrutura tem o objetivo de testar e homologar as aplicações, antes de efetivamente publicá-las em Produção.

1) Como resolver esse erro?
2) Como vocês trabalham com o Desenvolvimento e Produção, vocês tem dois ambientes distintos rodando a mesma aplicação, mas com BD separados? Ou há um forma melhor de fazer isso?

Obrigado.
João Carlos

Fernando_Pereira

  • Novato
  • *
  • Mensagens: 1
    • Email
Bom dia João Carlos.

Tambem estou com esse mesmo problema... alguem ou você mesmo já conseguiu resolver?


Obrigado Fernando Pereira

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Bom dia, você usa logs? Se sim desabilita e testa...

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
vcs nao podem copiar um projeto já publicado e configurado.
vai dar problema..
suba a aplicação normalmente, configure...
para atualizar apenas descompacte seu zip por cima...
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

João Carlos TR

  • Iniciante
  • **
  • Mensagens: 50
    • Email
Jean,

eu não copio o Projeto Publicado, eu publico no Desenvolvimento, estando tudo certo:
> Altero a conexão do BD de Desenvolvimento para Produção;
> Exporto para a o Projeto de Produção;
> Gero (atualizo) dentro do Projeto de Produção;
> Publico no domínio de Produção;

No SC são dois projetos distintos e separados, com conexões distintas e publicações distintas.

Rodrigo: Ainda não estou usando Logs.

Fernando:

Aparentemente foi resolvido, pelo que percebi, o erro ocorria porque eu copiava as Aplicações para o Projeto de Produção com a conexão de Desenvolvimento.
Criei uma conexão no Desenvolvimento com o BD de Produção.
Quando a Aplicação está testada e aprovada, altero a conexão para a de Produção.
Copio a Aplicação para o Projeto de Produção.
Lá no Projeto de Produção, gero novamente a Aplicação, já conectada com o BD de Produção.
Faço a Publicação.
O erro parou de aparecer.

Fazemos dessa forma, pois se algo sair errado, estando em desenvolvimento podemos apagar a aplicação e refazê-la.
Talvez isso seria resolvido com o Controle de Versão, mas não tivemos tempo de verificar se esse controle efetivamente funciona.
Antes do SC, usávamos o Netbeans que tem um excelente controle de Versão e Histórico de evolução do código, se algo estivesse errado, podíamos voltar pelo Histórico ou pelo Versionamento.


João Carlos TR

  • Iniciante
  • **
  • Mensagens: 50
    • Email
É Clarck,
paciência de Jó né?  Fica tranquilo não me ofendi não.
É que começamos usar totalmente o SC  a pouco tempo, como já disse, tudo era no Netbeans.

Ainda estamos estudando como o Controle de Versão do SC funciona, pra ver se não fazemos nada errado.

O objetivo de termos dois ambientes, é proteger o trabalho de outros, trabalhamos em equipe, então se alguém faz algo errado, dá pra consertar sem grandes problemas.
Dias atrás, implementamos o Módulo de Segurança no Desenvolvimento, deu um pau danado nas aplicações.

Apagamos tudo e criamos outro Desenvolvimento baseado no Projeto de Produção, se tivesse feito isso na Produção, tinha ferrado todo o Projeto da Produção.

Outra razão de ter o Desenvolvimento, é que trabalhamos com o BD de Desenvolvimento, podendo "sujar" o BD sem problemas, nesse Projeto só mudamos a Conexão para o BD produção, na hora de copiar para o Projeto de Produção, na realidade queríamos era ter a Conexão Desenvolvimento no Projeto de Produção e somente lá dentro, alterar a Conexão de Desenvolvimento para Produção, mas daí dá o erro que relatei no início.

Por enquanto essa foi a forma que encontramos de Desenvolver sem risco no Projeto de Produção, é trabalhoso? É trabalhoso e por isso que perguntamos a quem trabalha a mais tempo com o SC se existe um forma mais fácil, se o Incremento de Versão do SC funciona legal, tipo versão 20 td ok, na versão 21 alguém faz algo que torna necessário refazer, recupera-se tranquilamente a versão anterior?

O objetivo maior é proteger o que está funcionando e a partir dali fazer implementações com segurança de que se algo de errado, podemos voltar e recomeçar.

Gostei da sua sugestão de publicar Zip1, Zip2, etc, mas você utiliza BD de produção e desenvolvimento? Se sim, vc muda a conexão na hora de gerar o Zip e publicar?

Grande abraço!
João Carlos

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Eu só não entendi porque abrir a aplicação só pra trocar a conexão, crie uma função com uma condição que detecte o ambiente em que você esta rodando a aplicação e de acordo com o ambiente é só trocar a conexão dinamicamente.
Você pode usar o dominio, o subdominio, o diretório... tudo isso serviria pra identificar se esta em produção ou desenvolvimento, com isso você economiza um processo na hora de publicar.

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Eu também uso no mesmo ambiente, só que eu crio um subdominio pro dev, isso já basta pro servidor web separar as coisas.

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Eu também uso no mesmo ambiente, só que eu crio um subdominio pro dev, isso já basta pro servidor web separar as coisas.

sim entendi. mas ele usa 2 scriptcase separados, um no desenvolvimento e outro na produção.
pelo menos foi o q eu entendi. rsrsrsrs
na produção não precisa ter o scriptcase.
desnecessário e perigoso.
Ahh ta agora eu entendi... realmente,,

João Carlos TR

  • Iniciante
  • **
  • Mensagens: 50
    • Email
Clarck,

o SC está somente no Desenvolvimento, está assim:
dominio/sc = Scritpcase
dominio/des = publicação para testes do desenvolvimento e homologação
dominio/app = publicação de produção

Dentro do SC temos 2 projetos, uma de Desenvolvimento e outro de Produção, que fazemos como já relatado.

Gostei das suas dicas, são boas opções.
Muito obrigado por compartilhar.