Boa tarde a todos. Tenho algumas dúvidas de iniciante que talvez já tenham sido resolvidas por vocês.
Estou iniciando um projeto em Rails em um local onde o pessoal que administra o banco de dados possui um padrão de nomenclatura para nomes de tabelas, colunas, etc. que difere daquele consagrado pelo framework.
Sendo assim, pergunto: existe alguma forma de usar outra convenção de nomes de objetos de banco de dados no Rails sem deixar de usar seus recursos? Por exemplo, gostaria de continuar aproveitando o poder das migrações porém seguindo outro padrão de nomes.
Outra coisa: se eu tiver um modelo com nome composto, como fazer o Rails tratar seu plural adequadamente? Como exemplo, supondo que eu tenha um modelo chamado TipoProduto, quero que seu plural seja TiposProduto e não TipoProdutos, como faz a pluralização do Rails.
Beleza, o uso da classe Inflector resolve tranquilo o problema do plural de nomes compostos. Mas não enxergo como ele resolve o problema da nomenclatura.
O padrão que a equipe de banco de dados usa é o seguinte:
os nomes dos objetos (tabelas, colunas) devem estar em maiúsculas;
concatena-se ao nome da coluna um mnemônico representando o tipo de dados da coluna.
Como exemplo, tomemos a tabela abaixo:
[code]USUARIO
ID_USUARIO
STR_NOME_USUARIO
[/code]
Como mapear isso no model do Rails? Tentei usar os métodos set_table_name, set_primary_key… Mas quando rodo a migration, ele ainda cria os objetos seguindo o padrão do Rails.
Oi, tnaires. Não tinha visto que vc já tinha tentado o set_table_name.
Acho que não entendi direito o seu problema. Pelo o que eu entendi, você precsa alterar o nome da tabela a ser criada na migration, usar um set_table_name no modelo criado e depois resolver os problemas de pluralizacão com inflectors.
Poderia descrever os passos que segue e os resultados que espera quando roda as migrations?
Não da pra alterar a convençãode nomes de objetos do banco de dados, você vai ter que configurar o nome de cada coluna e cada tabela para cada entidade/model