MySQL x PostGree - Qual a melhor opção para trabalhar com o SC ?

Além da minha experiência com o MySQL o fato de eu já ter todos os meus sistemas com esse banco pesou também na minha decisão.

Agora, mudando de mala para sacola, nem sei se tem algum tópico tratando mais detalhadamente sobre isso, mas como é que vocês tratam a questão de sistemas com multi-bases-de-dados ???

Os meus aplicativos vão precisar trabalhar com um banco separado para cada cliente, pelo que vi o ScriptCase não trata isso automaticamente, ou estou errado ?

Vou precisar ter na tela de login um seletor ou direcionador para o banco específico do cliente, é fácil implementar isso no SC ?

Como eu faço:

na url:

http://dominio.com.br/sistema/?empresa=clientea

na pasta sistema do servidor web, index.php chamando o login e repassando o paramêtro empresa via get.

no login: OnAppinit:

sc_change_connection(“conexão padrão”,[empresa]);

Haroldo,

Não seria melhor usar uma variável que seria filtrada nas aplicações, ao invés de alterar a conexão?

Ai teria todas as informações em um único banco (dados de todos os clientes)?

Acho mais arriscado e mais trabalhoso.

Apesar de meu sistema ser multi empresa, mas só as empresas do mesmo cliente estão no mesmo banco.

Mas uso um banco para cada cliente.
Melhor no backup, melhor na manutenção e nos suportes de sustentação.

OK, Valeu pelo esclarecimento.
Vou levar em consideração nos projetos.

Dessa forma facilita para tudo. Até mesmo para criar o banco no ato do registro da empresa e liberação da mesma para utilização do sistema. Não utilizando dessa forma banco de dados de outro cliente, e não ficando tão cheio e pesado. Claro, se torna um problema para quem tem contrato de hospedagens com limitações de uso de banco de dados, mas fora isso, não tem coisa melhor.

Tb faço assim:

Como eu faço: na url: http://dominio.com.br/sistema/?empresa=clientea na pasta sistema do servidor web, index.php chamando o login e repassando o paramêtro empresa via get. no login: OnAppinit: sc_change_connection("conexão padrão",[empresa]);

Pessoal,

O que eu estou pensando em fazer é criar uma aplicação de login, onde eu teria um banco de dados específico para administrar as empresas e os usuários dessas empresas, eu preciso controlar o acesso por usuário, uma vez que pretendo cobrar por usuário.

Então neste caso a tela inicial de login vai acessar um banco de dados que depois de autenticado vai me dar acesso ao banco de dados da empresa específica, e lá nesse banco de dados a empresa vai poder definir o que cada usuário (cadastrado no sistema de autenticação) vai poder fazer ou não no sistema.

O que acham desse método ? Vou encontrar dificuldades em implementar isso no ScriptCase ?

É como trabalhamos.

Um banco de dados só para gestão dos usuários vai te dar muito mais liberdade.

Apoio sua decisão.

Haroldo,

Pois é, acredito que esse esquema é a melhor opção mesmo, minha dúvida é saber se o SC vai permitir isso, ou seja, que eu set a conexão com o banco, na verdade a mudança do nome do banco na conexão padrão do sistema, em tempo de execução.

Como sou novato na ferramenta, e pelo que andei lendo, tenho receio que isso não possa ser feito via ScriptCase.

Seu Login será baseado na conexão com o banco de dados principal.

Na OnValidateSucess antes de chamar o menu você troca a conexão pra o banco do cliente.

Haroldo,

Eu não tenho como manter as duas conexões abertas ? Com o banco de autenticação e com o banco do cliente ?

Pelas macros sc_lookup e sc-select vc pode informar como parametro a conexão , mas a aplicação sempre terá uma conexão padrão

Haroldo,

Valeu meu caro, vou estudar o assunto com calma. Obrigado.

oi tudo bem

poderia me fornecer o código referente a acentuação, para consulta scriptcase

1 Curtida

boa noite Haroldo

atualmente você está usando mysql ou mariadb?

tudo bem

estou testando postgresql

mas na consulta scritpcase ao buscar por jose, ele retorna somente jose, não mostra o josé (com acento)

pode me ajudar

O melhor banco é aquele que ira atender os requisitos do teu projeto.
No entanto, MySQL é mais leve, menos tipado.
O PostgreSQL é fortemente tipado, escalável, possui recursos poderosos, views materializadas
o que o torna leve nas consultas e shemas (esquemas) que é uma forma de organizar de forma lógica nosso banco de dados. Ele não interfere fisicamente no banco. Seria semelhante a organizarmos arquivos (neste caso tabelas) em sub-pastas de um mesmo disco (banco). Ex: um esquema: FolhaPagamento, Contabilidade, ERP, CRM, etc. Cada esquema se integra naturalmente.
E isso tudo isso é apenas a ponta do icerberg,
Advinha qual banco de dados o iFood, utiliza ?
R: Sim, o PostgreSQL.
Citando apenas uma caso de sucesso.

Como hoje estou mais intenso em consultorias e cada empresa que me contrata usa bancos diferentes não tenho como informar qual banco especificamente eu trabalho.
Mas meu sistema usa mariadb, já pensei em trocar pelo PostgreSQL.