trabajo-afectivo/db/migrate/20120101000001_create_base.rb

221 lines
9.3 KiB
Ruby
Raw Normal View History

2012-04-10 14:06:46 +00:00
class CreateBase < ActiveRecord::Migration
def up
2014-08-24 08:04:20 +00:00
2012-04-10 14:06:46 +00:00
create_table :sessions do |t|
t.string :session_id, :null => false
t.text :data
t.timestamps
end
add_index :sessions, :session_id
add_index :sessions, :updated_at
create_table :users do |t|
t.references :organization, :null => true
t.column :login, :string, :limit => 100, :null => false
t.column :firstname, :string, :limit => 100, :null => true
t.column :lastname, :string, :limit => 100, :null => true
t.column :email, :string, :limit => 140, :null => true
2013-11-02 21:35:37 +00:00
t.column :image, :string, :limit => 100, :null => true
2012-04-10 14:06:46 +00:00
t.column :web, :string, :limit => 100, :null => true
t.column :password, :string, :limit => 100, :null => true
t.column :phone, :string, :limit => 100, :null => true
t.column :fax, :string, :limit => 100, :null => true
t.column :mobile, :string, :limit => 100, :null => true
t.column :department, :string, :limit => 200, :null => true
2012-04-10 14:06:46 +00:00
t.column :street, :string, :limit => 120, :null => true
t.column :zip, :string, :limit => 100, :null => true
t.column :city, :string, :limit => 100, :null => true
t.column :country, :string, :limit => 100, :null => true
t.column :verified, :boolean, :null => false, :default => false
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
2012-10-18 08:10:12 +00:00
t.column :last_login, :timestamp, :null => true
2012-04-10 14:06:46 +00:00
t.column :source, :string, :limit => 200, :null => true
2014-12-17 15:19:18 +00:00
t.column :locale, :string, :limit => 10, :null => true
t.column :login_failed, :integer, :null => false, :default => 0
2013-11-02 21:35:37 +00:00
t.column :preferences, :string, :limit => 8000,:null => true
t.column :updated_by_id, :integer, :null => false
2012-04-10 14:06:46 +00:00
t.column :created_by_id, :integer, :null => false
t.timestamps
end
add_index :users, [:login], :unique => true
add_index :users, [:email]
# add_index :users, [:email], :unique => true
add_index :users, [:department]
2012-04-10 14:06:46 +00:00
add_index :users, [:phone]
add_index :users, [:fax]
add_index :users, [:mobile]
add_index :users, [:source]
add_index :users, [:created_by_id]
2014-12-17 15:19:18 +00:00
2012-09-04 21:28:49 +00:00
create_table :signatures do |t|
t.column :name, :string, :limit => 100, :null => false
t.column :body, :string, :limit => 5000, :null => true
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
t.column :updated_by_id, :integer, :null => false
2012-09-04 21:28:49 +00:00
t.column :created_by_id, :integer, :null => false
t.timestamps
end
add_index :signatures, [:name], :unique => true
2014-12-17 15:19:18 +00:00
create_table :email_addresses do |t|
t.column :realname, :string, :limit => 250, :null => false
t.column :email, :string, :limit => 250, :null => false
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
t.column :updated_by_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
t.timestamps
end
add_index :email_addresses, [:email], :unique => true
2014-12-17 15:19:18 +00:00
2012-04-10 14:06:46 +00:00
create_table :groups do |t|
t.references :signature, :null => true
t.references :email_address, :null => true
2012-09-04 21:28:49 +00:00
t.column :name, :string, :limit => 100, :null => false
t.column :assignment_timeout, :integer, :null => true
2012-11-06 21:43:13 +00:00
t.column :follow_up_possible, :string, :limit => 100, :null => false, :default => 'yes'
t.column :follow_up_assignment, :boolean, :null => false, :default => true
2012-09-04 21:28:49 +00:00
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
t.column :updated_by_id, :integer, :null => false
2012-09-04 21:28:49 +00:00
t.column :created_by_id, :integer, :null => false
2012-04-10 14:06:46 +00:00
t.timestamps
end
add_index :groups, [:name], :unique => true
create_table :roles do |t|
t.column :name, :string, :limit => 100, :null => false
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
t.column :updated_by_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
2012-04-10 14:06:46 +00:00
t.timestamps
end
add_index :roles, [:name], :unique => true
2014-12-17 15:19:18 +00:00
2012-04-10 14:06:46 +00:00
create_table :organizations do |t|
t.column :name, :string, :limit => 100, :null => false
t.column :shared, :boolean, :null => false, :default => true
t.column :active, :boolean, :null => false, :default => true
t.column :note, :string, :limit => 250, :null => true
t.column :updated_by_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
2012-04-10 14:06:46 +00:00
t.timestamps
end
add_index :organizations, [:name], :unique => true
create_table :roles_users, :id => false do |t|
t.integer :user_id
t.integer :role_id
end
2014-06-01 08:31:52 +00:00
2012-04-10 14:06:46 +00:00
create_table :groups_users, :id => false do |t|
t.integer :user_id
t.integer :group_id
end
create_table :organizations_users, :id => false do |t|
t.integer :user_id
t.integer :organization_id
end
2014-12-17 15:19:18 +00:00
2012-04-10 14:06:46 +00:00
create_table :authorizations do |t|
t.string :provider, :limit => 250, :null => false
t.string :uid, :limit => 250, :null => false
t.string :token, :limit => 250, :null => true
t.string :secret, :limit => 250, :null => true
t.string :username, :limit => 250, :null => true
t.references :user, :null => false
t.timestamps
end
add_index :authorizations, [:uid, :provider]
add_index :authorizations, [:user_id]
add_index :authorizations, [:username]
2014-12-17 15:19:18 +00:00
2012-11-06 21:43:13 +00:00
create_table :translations do |t|
t.column :locale, :string, :limit => 10, :null => false
t.column :source, :string, :limit => 255, :null => false
t.column :target, :string, :limit => 255, :null => false
t.column :target_initial, :string, :limit => 255, :null => false
t.column :updated_by_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
t.timestamps
end
add_index :translations, [:source]
add_index :translations, [:locale]
2014-12-17 15:19:18 +00:00
2014-08-24 00:10:00 +00:00
create_table :object_lookups do |t|
t.column :name, :string, :limit => 250, :null => false
t.timestamps
end
add_index :object_lookups, [:name], :unique => true
2014-08-24 08:04:20 +00:00
create_table :type_lookups do |t|
t.column :name, :string, :limit => 250, :null => false
t.timestamps
end
add_index :type_lookups, [:name], :unique => true
2014-12-17 15:19:18 +00:00
create_table :tokens do |t|
t.references :user, :null => false
t.string :name, :limit => 100, :null => false
t.string :action, :limit => 40, :null => false
t.timestamps
end
add_index :tokens, :user_id
add_index :tokens, [:name, :action], :unique => true
add_index :tokens, :created_at
create_table :packages do |t|
t.column :name, :string, :limit => 250, :null => false
t.column :version, :string, :limit => 50, :null => false
t.column :vendor, :string, :limit => 150, :null => false
t.column :state, :string, :limit => 50, :null => false
t.column :updated_by_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
t.timestamps
end
create_table :package_migrations do |t|
t.column :name, :string, :limit => 250, :null => false
t.column :version, :string, :limit => 250, :null => false
t.timestamps
end
create_table :tags do |t|
t.references :tag_item, :null => false
t.references :tag_object, :null => false
t.column :o_id, :integer, :null => false
t.column :created_by_id, :integer, :null => false
t.timestamps
end
add_index :tags, [:o_id]
add_index :tags, [:tag_object_id]
create_table :tag_objects do |t|
t.column :name, :string, :limit => 250, :null => false
t.timestamps
end
add_index :tag_objects, [:name], :unique => true
create_table :tag_items do |t|
t.column :name, :string, :limit => 250, :null => false
t.timestamps
end
add_index :tag_items, [:name], :unique => true
2012-04-10 14:06:46 +00:00
end
end