Guest User

Untitled

a guest
Jul 22nd, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. require 'dm-core'
  2. require 'dm-migrations'
  3. require 'dm-migrations/migration_runner'
  4.  
  5. #DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/sample.db") #"sqlite3::memory")
  6. #DataMapper.setup(:default, 'mysql://root:@localhost/datamapper_test')
  7. DataMapper.setup(:default,{
  8. :adapter=>'mysql',
  9. :database=>'datamapper_test',
  10. :username=>'root',
  11. :password=>'',
  12. :host=>'127.0.0.1'
  13. })
  14.  
  15. DataMapper::Logger.new(STDOUT, :debug)
  16. DataMapper.logger.debug( "Starting Migration" )
  17.  
  18. class Person
  19. include DataMapper::Resource
  20.  
  21. property :id, Serial
  22. property :name, Text
  23. property :age, Integer
  24. end
  25.  
  26. task :default
  27.  
  28. task :migrate_up do
  29. migrate_up!
  30. end
  31.  
  32. task :migrate_down do
  33. migrate_down!
  34. end
  35.  
  36. task :populate do
  37. Person.create(:name=>"Justin", :age=>12)
  38.  
  39. Person.all.each do |dude|
  40. puts dude.inspect
  41. end
  42. end
  43.  
  44. migration 1, :create_person_table do
  45. up do
  46. create_table :people do
  47. column :id, Integer, :serial => true
  48. column :name, String, :length=>2
  49. column :age, Integer
  50. end
  51. end
  52. down do
  53. drop_table :people
  54. end
  55. end
  56.  
  57. migration 2, :change_name_constraints do
  58. up do
  59. modify_table :people do
  60. change_column :name, Text
  61. end
  62. end
  63. down do
  64. modify_table :people do
  65. change_column :name, String, :length=>2
  66. end
  67. end
  68. end
Add Comment
Please, Sign In to add comment