E aqui um trecho de outra rotina que vai ser obrigatória a execução em primeiro lugar antes de qualquer outra coisa.
FUNCTION HLSalvaMySQL()
LOCAL nAtual, nTotal, cTmpFile, cnMySql := ADOClass():New( AppcnMySqlLocal() )
IF .NOT. MsgYesNo( "Já reindexou tudo? Confirma transferência?" )
RETURN NIL
ENDIF
// RemoveAcessoDesativado()
SayScroll( "hlcofre.dbf" )
IF .NOT. File( "HLCOFRE.DBF" )
WriteErrorLog( "HLCOFRE.DBF não existe. Retirar rotina" )
ELSE
CopyDbfToMySql( "HLCOFRE", .T. )
fRename( "HLCOFRE.DBF", "HLCOFRE.BAK" )
ENDIF
SayScroll( "hlcaixa.dbf" )
IF .NOT. File( "HLCAIXA.DBF" )
WriteErrorLog( "HLCAIXA.DBF não existe. Retirar rotina" )
ELSE
CopyDbfToMySql( "HLCAIXA", .T. )
fRename( "HLCAIXA.DBF", "HLCAIXA.BAK" )
ENDIF
...
É isso mesmo que parece. Esses DBFs, e outros, vão para o MySQL.
E é isso mesmo que parece também, exatamente a movimentação do caixa, por onde entra e sai dinheiro na empresa, e não pode parar.
Isso mostra minha confiança com ADO + MySQL.
O pessoal vai almoçar usando DBF, e volta usando MySQL - desde que eu chegue lá a tempo de trocar o sistema.
Por enquanto ainda trabalhando nos arquivos aonde só tem inclusão.
Quando só sobrarem os que tem acesso simultâneo pra alteração, aà vou pensar como fazer isso.
De quase 1GB em DBFs iniciais, agora vai reduzir pra quase 20MB.
Tô gostando do negócio.
Nota:
Confiar não significa abrir mão da segurança. Os arquivos serão mantidos como BAK pelo menos até o dia seguinte.
Na próxima rotina de atualização, vai ser só apagar os BAK.