Forum: Rails France migration et fonctions spécifiques mysql

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fd608c2b5ba7896b449e26fcf18b70b4?d=identicon&s=25 Zambra (Guest)
on 2007-07-19 00:03
(Received via mailing list)
Le message a été supprimé par google, je retente donc :)

Bonjour,

est-il possible de créer un champ de type SET (qui je crois est
spécifique à mysql) dans un fichier migration ?
L'API ne semble pas le proposer
"column_name specified to be one of the following types: :string, :text,
:integer, :float, :decimal, :datetime, :timestamp, :time, :date,
:binary, :boolean"
Le but est de créer des valeurs par défaut dans un menu défilant pour
éviter de saisir à chaque fois la même chose.

Comment vous faites dans ce cas : nouvelle table avec les valeurs
prédéfinies ? Simple hash dans le model ?

merci!
2fd0206c71a1b22a9cc6293f38537461?d=identicon&s=25 Cyril Mougel (shingara)
on 2007-07-19 01:19
(Received via mailing list)
On 7/18/07, Zambra <zambra@free.fr> wrote:
> :binary, :boolean"
> Le but est de créer des valeurs par défaut dans un menu défilant pour
> éviter de saisir à chaque fois la même chose.
>
> Comment vous faites dans ce cas : nouvelle table avec les valeurs
> prédéfinies ? Simple hash dans le model ?
>

Tu peux tout simplement faire le script en SQL pur.

Un exemple de ça est le passage en InnoDB dans un fichier de migration
015[1] de Typo :

class ConvertMysqlToInnodb < ActiveRecord::Migration
  def self.up
    config = ActiveRecord::Base.configurations
    begin
      STDERR.puts "Migrating all existing tables to InnoDB"
      schema = []
      select_all('SHOW TABLES').inject([]) do |schema, table|
        schema << "ALTER TABLE #{table.to_a.first.last} ENGINE=InnoDB"
      end
      schema.each { |line| execute line }
    end if config[RAILS_ENV]['adapter'] == 'mysql' unless
$schema_generator
  end

  def self.down
    # don't do anything
    # this is a one-way migration, but it's not "irreversable"
    # because it doesn't change any code logic
  end
end

[1] :
http://trac.typosphere.org/browser/trunk/db/migrat...


--
Cyril Mougel
This topic is locked and can not be replied to.