X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;f=db%2Fmigrate%2F009_rentable_inheritance.rb;fp=db%2Fmigrate%2F009_rentable_inheritance.rb;h=d0c259341144102a959c3be5c2eee06084319c59;hb=3650c5f411112965a12718b75ccbedde3186fa15;hp=0000000000000000000000000000000000000000;hpb=28e07f23e1c75f7442dd87caf34f0f47109bf966;p=cs356-p2-videostore.git diff --git a/db/migrate/009_rentable_inheritance.rb b/db/migrate/009_rentable_inheritance.rb new file mode 100644 index 0000000..d0c2593 --- /dev/null +++ b/db/migrate/009_rentable_inheritance.rb @@ -0,0 +1,46 @@ +class RentableInheritance < ActiveRecord::Migration + def self.up + drop_table :games + drop_table :videos + drop_table :rentables + create_table :rentables do |t| + # for the inheritance + t.column :type, :string + + # common columns + t.column :title, :string + t.column :newrelease, :boolean, :default => false + + # video specific + t.column :video_genre, :integer + t.column :director, :integer + t.column :media, :integer + + # game specific + t.column :game_genre, :integer + t.column :platform, :integer + end + end + + def self.down + create_table :games do |t| + t.column :title, :string + t.column :platform, :integer + t.column :genre, :integer + t.column :rentable_id, :integer + end + + create_table :videos do |t| + t.column :title, :string + t.column :newrelease, :boolean, :default => false + t.column :director, :string + t.column :genre, :integer + t.column :rentable_id, :integer + end + + drop_table :rentables + create_table :rentables do |t| + t.column :rtype, :string + end + end +end