ORMBr - Gerenciamento DB (MSSql e SQLite)
Autor: Isaque Pinheiro | Publicado: 2016-10-28T16:32:00-07:00


Seja bem vindo a mais esse artigo, e boa leitura.



Hoje quero passar para você, que o ORMBr agora conta com a 1a versão da camada de gerenciamento de banco de dados, após grande esforço e trabalho implementei o recurso para os bancos SQLite e SQLServer, logo logo sairá para Firebird e MySQL, essa versão que já está disponível no repositório você pode baixar pelo link www.ormbr.com.br menu Download.&nbsp;

Nessa novidade temos a criação completa de tabela, PrimaryKey, ForeignKeys, Indexes e Checks, e ainda a adição de novos campos caso adicionados no modelo, e não exista no banco. Tem bastante recurso a ser feito, mas um passo a cada dia chegaremos ao nosso destino desejado, que é o gerenciamento total ao banco, pretendo ir até onde for possível, ir além de alguns ORMs do mercado como gerenciamento de Views, Triggers (esses já bem avançados) e quem sabe até Store de Procedures, mesmo que cada banco tendo sua sintaxe especifica, trabalho dará, mas acredito que é possível sim, por que não?&nbsp;

Tenho uma frase que marcou muito minha vida de Albert Einstein "A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original", então quero que você pense nessa frase, e abra sua mente para entender os benefícios que o ORMBr pode trazer para sua vida, no que diz respeito a desenvolvimento, agilizando, dando confiabilidade e economizando em algumas dezenas e quem sabe centenas de linhas.
O ORMBr é puro delphi, você não deve ter medo usa-lo, no inicio por seguir padrões de projetos, ele pode parecer complexo, mas acreditem, não é, e um ditado cabe bem nessa afirmação, "quem vê cara não vê coração", o ORMBr tem seu código extremamente simples, ele usa Dataset nativo do Delphi, ele faz o mesmo que você faz no seu código já existente do seu dia ia, mas de forma extremamente mais simples, e econômico, pois esse mesmo código servirá para todo o seu projeto, o que é preciso, é de dedicação para testa-lo, debuga-lo e entender seu funcionamento, e dai terá a confiança do que estou falando.&nbsp;

Abaixo um exemplo de um modelo bem completo, que servirá como base para o ORMBr para gerenciamento do banco de dados, nele teremos a criação de uma tabela completa com todos os atributos das colunas, uma PrimaryKey, um Indexe, um Check, esse mesmo modelo ainda servirá para definição dos TFields criados no Dataset usado, isso tudo feito automaticamente para ORMBr, de forma simples e eficaz, veja abaixo:


unit ormbr.model.person;

interface

uses
  Classes,
  DB,
  /// orm
  ormbr.mapping.attributes,
  ormbr.types.mapping,
  ormbr.mapping.register;

type
  [Entity]
  [Table('Person','Tabela de pessoas')]
  [PrimaryKey('Id', NoSort, False, 'Chave primária')]
  [Indexe('IDX_FirstName','FirstNome', NoSort, True, 'Indexe por nome')]
  [Check('CHK_Age', 'Age &gt;= 0')]
  TPerson = class
  private
    { Private declarations }
    FId: Integer;
    FFirstNome: string;
    FLastNome: string;
    FAge: Integer;
    FSalary: Double;
  public
    { Public declarations }
    [Restrictions([NoUpdate, NotNull])]
    [Column('Id', ftInteger)]
    [Dictionary('Código ID','Mensagem de validação','0','','',taCenter)]
    property Id: Integer Index 0 read FId write FId;

    [Restrictions([NotNull])]
    [Column('FirstNome', ftString, 40)]
    [Dictionary('Primeiro nome','Mensagem de validação','','','',taLeftJustify)]
    property FirstNome: String Index 1 read FFirstNome write FFirstNome;

    [Column('LastNome', ftString, 30)]
    [Dictionary('Último nome','Mensagem de validação','','','',taLeftJustify)]
    property LastNome: String Index 2 read FLastNome write FLastNome;

    [Restrictions([NotNull])]
    [Column('Age', ftInteger)]
    [Dictionary('Idade','Mensagem de validação','0','','',taCenter)]
    property Age: Integer Index 3 read FAge write FAge;

    [Restrictions([NotNull])]
    [Column('Salary', ftFloat, 18, 3)]
    [Dictionary('Preço','Mensagem de validação','0','','',taRightJustify)]
    property Salary: Double Index 4 read FSalary write FSalary;
  end;

implementation

initialization
  TRegisterClass.RegisterEntity(TPerson);

end.

No próximo artigo, vou falar para você tudo sobre os atributos do ORMBr, quais seus paramtros e para que serve cada um deles, verá que o ORMBr terá total controle com base no modelo criado, te proporcionado total funcionalidades de forma simples para ser usado.