20140502000001_update_storage2.rb 837 B

12345678910111213141516171819202122232425262728
  1. class UpdateStorage2 < ActiveRecord::Migration
  2. def up
  3. create_table :store_provider_dbs do |t|
  4. t.column :data, :binary, :limit => 200.megabytes, :null => true
  5. t.column :md5, :string, :limit => 60, :null => false
  6. t.timestamps
  7. end
  8. add_index :store_provider_dbs, [:md5], :unique => true
  9. add_column :store_files, :provider, :string, :limit => 20, :null => true
  10. add_index :store_files, [:provider]
  11. Store::File.all.each {|file|
  12. if file.data
  13. file.update_attribute( :provider, 'DB' )
  14. Store::Provider::DB.add( file.data, file.md5 )
  15. else
  16. file.update_attribute( :provider, 'File' )
  17. Store::Provider::File.add( file.data, file.md5 )
  18. end
  19. }
  20. remove_column :store_files, :data
  21. end
  22. def down
  23. end
  24. end