123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- class CreateNetwork < ActiveRecord::Migration
- def up
- create_table :networks do |t|
- t.column :name, :string, limit: 100, null: false
- t.column :note, :string, limit: 250, null: true
- t.column :active, :boolean, null: false, default: true
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :networks, [:name], unique: true
- create_table :network_category_types do |t|
- t.column :name, :string, limit: 100, null: false
- t.column :note, :string, limit: 250, null: true
- t.column :active, :boolean, null: false, default: true
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_category_types, [:name], unique: true
- create_table :network_privacies do |t|
- t.column :name, :string, limit: 100, null: false
- t.column :key, :string, limit: 250, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_privacies, [:name], unique: true
- create_table :network_categories do |t|
- t.references :network_category_type, null: false
- t.references :network_privacy, null: false
- t.references :network, null: false
- t.column :name, :string, limit: 200, null: false
- t.column :note, :string, limit: 250, null: true
- t.column :allow_comments, :boolean, null: false, default: true
- t.column :active, :boolean, null: false, default: true
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_categories, [:network_id]
- create_table :network_categories_moderator_users, id: false do |t|
- t.integer :user_id
- t.integer :network_category_id
- end
- create_table :network_items do |t|
- t.references :network_category, null: false
- t.column :title, :string, limit: 200, null: false
- t.column :body, :string, limit: 20_000, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps null: false
- end
- add_index :network_items, [:network_category_id]
- create_table :network_item_comments do |t|
- t.references :network_item, null: false
- t.column :body, :string, limit: 20_000, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_item_comments, [:network_item_id]
- create_table :network_item_plus do |t|
- t.references :network_item, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_item_plus, [:network_item_id, :created_by_id], unique: true
- create_table :network_category_subscriptions do |t|
- t.references :network_categories, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_category_subscriptions, [:network_categories_id, :created_by_id], unique: true, name: 'index_network_category_subscriptions_on_network_c_i_and_c'
- create_table :network_item_subscriptions do |t|
- t.references :network_item, null: false
- t.column :updated_by_id, :integer, null: false
- t.column :created_by_id, :integer, null: false
- t.timestamps limit: 3, null: false
- end
- add_index :network_item_subscriptions, [:network_item_id, :created_by_id], unique: true, name: 'index_network_item_subscriptions_on_item_id_and_created_by_id'
- end
- def down
- drop_table :network_item_subscriptions
- drop_table :network_category_subscriptions
- drop_table :network_categories_moderator_users
- drop_table :network_item_plus
- drop_table :network_item_comments
- drop_table :network_items
- drop_table :network_categories
- drop_table :network_privacies
- drop_table :network_category_types
- drop_table :networks
- end
- end
|