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 ?
: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