# La création de la table SQL se fait avec une migration (fichier db/migrate/_create_users.rb)
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name, :limit => 50, :null => false
t.string :email, :limit => 32, :null => false
end
# Indexes
add_index :users, [:name, :email], :unique => true
add_index :users, :name # Cet index est redondant, mais je l'ai gardé car il était dans l'exemple de départ
add_index :users, :email
end
[^] # Re: Doctrine2
Posté par Bruno Michel (site web personnel) . En réponse à la dépêche En vrac : Doctrine 2, MySQL 5.5 et VimGolf. Évalué à 3.
# Le modèle est décrit dans le fichier app/models/user.rb
class User < ActiveRecord::Base
# Validations
validates :email, :uniqueness
# Lifecycle callbacks
before_save :do_stuff_on_pre_persist
before_save :do_another_stuff_on_pre_persist_too
after_save :do_stuff_on_post_persist
# Associations
has_one :address, :dependent => :destroy
has_many :phone_numbers
has_ad_belongs_to_many :groups
end
# La création de la table SQL se fait avec une migration (fichier db/migrate/_create_users.rb)
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name, :limit => 50, :null => false
t.string :email, :limit => 32, :null => false
end
# Indexes
add_index :users, [:name, :email], :unique => true
add_index :users, :name # Cet index est redondant, mais je l'ai gardé car il était dans l'exemple de départ
add_index :users, :email
end
def self.down
drop_table :users
end
end