· 8 years ago · Jan 22, 2018, 03:02 AM
1#!/usr/bin/env ruby -Ku
2
3# encoding: utf-8
4
5require 'rubygems'
6require 'data_mapper'
7require 'active_support/all'
8
9DataMapper::Logger.new($stdout, :debug)
10DataMapper.setup(:default, 'mysql://localhost/test')
11
12class Message
13 include DataMapper::Resource
14
15 property :id, Serial
16 property :created_at, DateTime
17end
18
19DataMapper.finalize.auto_migrate!
20
21Message.create(:created_at => Time.now)
22Message.create(:created_at => Time.now - 10.minutes)
23
24puts '-' * 80
25
26p Message.all(:order => [ :created_at ])
27p Message.all(:order => [ :created_at.desc ])
28
29__END__
30
31OUTPUT:
32
3303:22:53 tmp $ ruby test.rb
34DataObjects::URI.new with arguments is deprecated, use a Hash of URI components (/Users/dkubb/.rvm/gems/ruby-1.8.7-p352/gems/dm-do-adapter-1.1.0/lib/dm-do-adapter/adapter.rb:231:in `new')
35 ~ (0.000049) SET sql_auto_is_null = 0
36 ~ (0.000064) SET SESSION sql_mode = 'ANSI,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_UNSIGNED_SUBTRACTION,TRADITIONAL'
37 ~ (0.000470) SHOW TABLES LIKE 'messages'
38 ~ (0.001278) DROP TABLE IF EXISTS `messages`
39 ~ (0.000135) SHOW TABLES LIKE 'messages'
40 ~ (0.000030) SET sql_auto_is_null = 0
41 ~ (0.000054) SET SESSION sql_mode = 'ANSI,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_UNSIGNED_SUBTRACTION,TRADITIONAL'
42 ~ (0.000231) SHOW VARIABLES LIKE 'character_set_connection'
43 ~ (0.000212) SHOW VARIABLES LIKE 'collation_connection'
44 ~ (0.003350) CREATE TABLE `messages` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `created_at` DATETIME, PRIMARY KEY(`id`)) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
45 ~ (0.000370) INSERT INTO `messages` (`created_at`) VALUES ('2011-09-15 15:22:55')
46 ~ (0.000264) INSERT INTO `messages` (`created_at`) VALUES ('2011-09-15 15:12:55')
47--------------------------------------------------------------------------------
48 ~ (0.000167) SELECT `id`, `created_at` FROM `messages` ORDER BY `created_at`
49[#<Message @id=2 @created_at=Thu, 15 Sep 2011 15:12:55 -0700>, #<Message @id=1 @created_at=Thu, 15 Sep 2011 15:22:55 -0700>]
50 ~ (0.000166) SELECT `id`, `created_at` FROM `messages` ORDER BY `created_at` DESC
51[#<Message @id=1 @created_at=Thu, 15 Sep 2011 15:22:55 -0700>, #<Message @id=2 @created_at=Thu, 15 Sep 2011 15:12:55 -0700>]