一键导入
delphi-migration-bde-to-firedac
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
Desenvolvimento de microserviços e APIs REST com o framework minimalista Horse em Delphi. Rotas, controllers, middlewares, gerenciamento de memória e tratamento de parâmetros.
Diretrizes de qualidade e desenvolvimento de templates HTML e páginas dinâmicas com Web Stencils (Server-Side Rendering) no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes dbExpress (DBX) para FireDAC no Delphi.
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal.
| name | delphi-migration-bde-to-firedac |
| description | Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi. |
Esta skill define o guia técnico e o mapeamento de componentes/tipos para migração de projetos Delphi que utilizam o Borland Database Engine (BDE) legado para a tecnologia moderna de acesso a dados FireDAC.
O RAD Studio inclui um utilitário de console chamado reFind.exe (localizado na pasta bin da instalação do Delphi). Ele permite processar em lote todo o projeto, substituindo as classes, propriedades e cláusulas uses via expressões regulares.
Para rodar a migração em lote em todas as units .pas e arquivos de tela .dfm de forma recursiva, execute o prompt de comando da pasta do projeto com os caminhos corretos:
"C:\Program Files (x86)\Embarcadero\Studio\<VERSAO>\bin\reFind.exe" /s /d:*.pas /d:*.dfm "C:\Users\Public\Documents\Embarcadero\Studio\<VERSAO>\Samples\Object Pascal\Database\FireDAC\Tool\reFind\BDE2FDMigration\FireDAC_Migrate_BDE.txt"
(Substitua <VERSAO> pela versão do Delphi instalada, por exemplo: 22.0 para o Delphi 11, 23.0 para o Delphi 12, ou 37.0 para o Delphi 13).
Ao realizar a migração manual ou revisar o resultado do reFind.exe, aplique os seguintes mapeamentos de classe:
| Classe Legada BDE | Nova Classe FireDAC | Unit FireDAC Necessária |
|---|---|---|
TSession | TFDManager | FireDAC.Comp.Client |
TDatabase | TFDConnection | FireDAC.Comp.Client, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.UI.Intf |
TTable | TFDTable | FireDAC.Comp.Client, FireDAC.Comp.DataSet |
TQuery | TFDQuery | FireDAC.Comp.Client, FireDAC.Comp.DataSet, FireDAC.DApt |
TStoredProc | TFDStoredProc | FireDAC.Comp.Client, FireDAC.Comp.DataSet, FireDAC.DApt |
TUpdateSQL | TFDUpdateSQL | FireDAC.Comp.Client |
TBatchMove | TFDBatchMove | FireDAC.Comp.BatchMove |
TParam | TFDParam | FireDAC.Stan.Param |
TParams | TFDParams | FireDAC.Stan.Param |
TBlobStream | TFDBlobStream | FireDAC.Comp.DataSet |
TAutoIncField | TFDAutoIncField | FireDAC.Comp.DataSet |
TDBDataSet / TBDEDataSet | TFDRDBMSDataSet | FireDAC.Comp.Client |
EDBEngineError | EFDDBEngineException | FireDAC.Stan.Error |
Muitas propriedades de componentes do BDE mudaram de nome ou de estrutura de acesso no FireDAC. Abaixo estão as principais conversões e remoções:
DatabaseName → ConnectionName (ou Connection apontando para o TFDConnection correspondente).AliasName → ConnectionDefName.Session.* → FDManager.*.IsAlias → IsConnectionDef.AddAlias → AddConnectionDef.DeleteAlias → DeleteConnectionDef.ModifyAlias → ModifyConnectionDef.GetAliasParams → GetConnectionDefParams.GetAliasNames → GetConnectionDefNames.FindDatabase → FindConnection.OpenDatabase → OpenConnection.CloseDatabase → CloseConnection.GetDatabaseNames → GetConnectionNames.Unidirectional → FetchOptions.Unidirectional.UpdateRecordTypes → FilterChanges.RequestLive → UpdateOptions.RequestLive.UpdateMode → UpdateOptions.UpdateMode.TransIsolation → TxOptions.Isolation.TTable.ReadOnly → UpdateOptions.ReadOnly.TQuery.DataSource → MasterSource.TDatabase.Execute → ExecSQL.SessionName (o gerenciamento de conexões no FireDAC usa TFDConnection e TFDManager de forma centralizada ou implicitamente thread-safe via Pools).PrivateDir.Origin nos campos persistentes no .dfm.Mapeie as definições do BDE para os enumerados correspondentes do FireDAC:
TTransIsolation → TFDTxIsolation (em FireDAC.Stan.Option)tiDirtyRead → xiDirtyReadtiReadCommitted → xiReadCommittedtiRepeatableRead → xiRepeatableReadTUpdateKind → TFDUpdateRequest (em FireDAC.Phys.Intf)ukModify → arUpdateukInsert → arInsertukDelete → arDeleteTUpdateAction → TFDErrorAction (em FireDAC.Stan.Intf)uaFail → eaFailuaAbort → eaExitFailureuaSkip → eaSkipuaRetry → eaRetryuaApplied → eaAppliedTBatchMode → TFDBatchMoveMode (em FireDAC.Comp.BatchMove)batAppend → dmAppendbatUpdate → dmUpdatebatAppendUpdate → dmAppendUpdatebatDelete → dmDeletebatCopy → dmAlwaysInsertRemova as seguintes units legadas da cláusula uses de todas as suas classes Delphi:
BDE.DBTablesBDE.BDEConstDBTablesBDEConstBDEMTSBDE