Guest User

Untitled

a guest
Mar 13th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. #!/usr/bin/env jruby
  2.  
  3. require 'rubygems'
  4. gem 'activerecord-jdbc-adapter'
  5. require 'jdbc_adapter'
  6. gem 'activerecord', '1.15.3'
  7. require 'active_record'
  8. require 'pp'
  9. require '/opt/apps/jruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/fixtures'
  10.  
  11. ActiveRecord::Base.establish_connection(:adapter => 'oracle',
  12. :database => 'XE',
  13. :username => 'blog',
  14. :password => 'blog')
  15.  
  16. class AddTestTable < ActiveRecord::Migration
  17. def self.up
  18. create_table :people do |t|
  19. t.column :name, :string
  20. t.column :active, :boolean
  21. t.column :added_at, :datetime
  22. end
  23. end
  24.  
  25. def self.down
  26. drop_table :people
  27. end
  28. end
  29.  
  30. class Person < ActiveRecord::Base
  31. validates_presence_of :name
  32. validates_presence_of :active
  33. end
  34.  
  35. begin
  36. AddTestTable.migrate(:up)
  37.  
  38. yml = <<EOYML
  39. id: 1
  40. name: "Jane Doe"
  41. added_at: #{Time.now.to_formatted_s(:db)}
  42. EOYML
  43.  
  44. hsh = YAML.load(yml)
  45. fixture = Fixture.new(hsh, "Person")
  46. Person.connection.execute "INSERT INTO people (#{fixture.key_list}) VALUES (#{fixture.value_list})", 'Fixture Insert'
  47.  
  48. rescue
  49. pp $!
  50. pp $!.backtrace
  51. ensure
  52. AddTestTable.migrate(:down)
  53. end
  54.  
  55. # aglasgall@bs183873:~> jruby ar-jdbc-testcase.rb
  56. # == AddTestTable: migrating ====================================================
  57. # -- create_table(:people)
  58. # -> 1.4562s
  59. # == AddTestTable: migrated (1.4576s) ===========================================
  60.  
  61. # #<ActiveRecord::StatementInvalid: ActiveRecord::ActiveRecordError: ORA-01861: literal does not match format string
  62. # : INSERT INTO people (added_at, id, name) VALUES ('2008-02-25 16:11:25', 1, 'Jane Doe')>
  63. # ["/opt/apps/jruby-1.1RC2/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/connection_adapters/abstract_adapter.rb:128:in `log'",
  64. # "/opt/apps/jruby-1.1RC2/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.7.2/lib/active_record/connection_adapters/jdbc_adapter.rb:507:in `execute'",
  65. # "/opt/apps/jruby-1.1RC2/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.7.2/lib/active_record/connection_adapters/jdbc_adapter.rb:507"]
  66. # == AddTestTable: reverting ====================================================
  67. # -- drop_table(:people)
  68. # -> 0.0465s
  69. # == AddTestTable: reverted (0.0471s) ===========================================
Add Comment
Please, Sign In to add comment