Criar coluna no MySQL com UNSIGNED ZEROFILL

168 views
Skip to first unread message

Leandro Nunes

unread,
Feb 29, 2012, 9:13:22 AM2/29/12
to rail...@googlegroups.com
Hoje precisei setar em uma coluna do mysql as flags UNSIGNED e ZEROFILL, lendo a documentação da ActiveRecord na api do Rails (http://api.rubyonrails.org/) não achei nada expecífico para tal tarefa ser criada na migration. Então sabendo da existência do "execute" fiz dessa forma:

class ChangeTableEmployees < ActiveRecord::Migration
  def up
    execute "ALTER TABLE employees MODIFY registration INTEGER(11) UNSIGNED ZEROFILL NOT NULL"
  end

  def down
    execute "ALTER TABLE employees MODIFY registration INTEGER(11) NOT NULL"
  end
end


Alguém conhece uma forma melhor de se fazer isso seguindo as convenções do Rails?


Valeu galera, fico no aguardo das dicas!


Alexandre Bini

unread,
Feb 29, 2012, 9:57:13 AM2/29/12
to rail...@googlegroups.com
Você precisa mesmo disso no banco? Pergunto porque você pode utilizar algo como...

"%06d" % registration


2012/2/29 Leandro Nunes <leandron...@gmail.com>


--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+u...@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7



--
Alexandre Bini
fone: 18 3641-4382
site: www.voraz.com.br
blog da voraz: http://blog.voraz.com.br

blog pessoal: www.alexandrebini.com
msn: alex...@voraz.com.br
gtalk: alexan...@gmail.com
skype: voraz.com.br
Rua Americana, 104, Birigui-SP

Leandro Nunes

unread,
Feb 29, 2012, 10:13:29 AM2/29/12
to rail...@googlegroups.com
Pois é Alexandre, o ActiveRecord não recupera com os zeros a esquerda como imaginei entao eu resolvi na views mesmo com sprintf("%011d", employee.registration)

Valew!


Em quarta-feira, 29 de fevereiro de 2012 11h57min13s UTC-3, Alexandre Bini escreveu:
Você precisa mesmo disso no banco? Pergunto porque você pode utilizar algo como...

"%06d" % registration


2012/2/29 Leandro Nunes <leandron...@gmail.com>
Hoje precisei setar em uma coluna do mysql as flags UNSIGNED e ZEROFILL, lendo a documentação da ActiveRecord na api do Rails (http://api.rubyonrails.org/) não achei nada expecífico para tal tarefa ser criada na migration. Então sabendo da existência do "execute" fiz dessa forma:

class ChangeTableEmployees < ActiveRecord::Migration
  def up
    execute "ALTER TABLE employees MODIFY registration INTEGER(11) UNSIGNED ZEROFILL NOT NULL"
  end

  def down
    execute "ALTER TABLE employees MODIFY registration INTEGER(11) NOT NULL"
  end
end


Alguém conhece uma forma melhor de se fazer isso seguindo as convenções do Rails?


Valeu galera, fico no aguardo das dicas!


--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para

Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
Reply all
Reply to author
Forward
0 new messages