built_in_data 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -11,7 +11,7 @@ It allows developers to deliver, update, and destroy data that is stored in the
11
11
  == Setup
12
12
  Add *built_in_key* to your model:
13
13
 
14
- ruby script/rails generate migration AddBuiltInKeyToYourModel built_in_key:string
14
+ ruby script/rails generate migration AddBuiltInKeyToYourModel built_in_key:string:index
15
15
  rake db:migrate
16
16
 
17
17
  Include *BuiltInData* in your model:
@@ -1,3 +1,3 @@
1
1
  module BuiltInData
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/built_in_data.rb CHANGED
@@ -5,7 +5,7 @@ module BuiltInData
5
5
  # all built in data objects should have a built_in_key, model objects without a key will not be modified or removed
6
6
  validates_uniqueness_of :built_in_key, :allow_nil => true
7
7
 
8
- scope :built_in, :conditions => 'built_in_key IS NOT NULL'
8
+ scope :built_in, :conditions => "#{table_name}.built_in_key IS NOT NULL"
9
9
  end
10
10
 
11
11
  module ClassMethods
@@ -39,14 +39,26 @@ module BuiltInData
39
39
  def create_or_update!(key, attributes)
40
40
  attributes.merge!(:built_in_key => key.to_s)
41
41
 
42
- object = find_by_built_in_key(key)
43
- if object
44
- object.update_attributes!(attributes)
45
- object
46
- else
47
- result = create!(attributes)
48
- end
42
+ object = find_or_initialize_by_built_in_key(key)
43
+ object.send(:built_in_data_attributes=,attributes)
44
+ return object
49
45
  end
50
46
 
51
47
  end
48
+
49
+ ####################
50
+ # INSTANCE METHODS #
51
+ ####################
52
+
53
+ #######
54
+ private
55
+ #######
56
+
57
+ # Assign attributes bypassing mass assignment protections
58
+ def built_in_data_attributes=(attributes)
59
+ attributes.each do |attribute_name,value|
60
+ send("#{attribute_name}=",value)
61
+ end
62
+ save!
63
+ end
52
64
  end
@@ -5,7 +5,8 @@ class BuiltInDataTest < ActiveSupport::TestCase
5
5
  :test => {
6
6
  :name => 'Yellowstone National Park',
7
7
  :established => '1872-03-01',
8
- :url => 'http://www.nps.gov/yell/index.htm'
8
+ :url => 'http://www.nps.gov/yell/index.htm',
9
+ :protected_attribute_column => 'protected data'
9
10
  }
10
11
  }
11
12
 
@@ -58,11 +59,25 @@ class BuiltInDataTest < ActiveSupport::TestCase
58
59
  NationalPark.load_built_in_data!
59
60
  end
60
61
  end
61
-
62
+
62
63
  test "should process erb in yaml file" do
63
64
  assert_equal '1910-05-11', NationalPark.send(:load_yaml_data)['glacier']['established'].to_s(:db)
64
65
  end
65
66
 
67
+ test 'should return active record objects from load' do
68
+ parks = NationalPark.load_built_in_data!
69
+ assert_equal(2,parks.size)
70
+ assert_equal(NationalPark,parks.first.class)
71
+ assert_equal(false,parks.first.new_record?)
72
+ end
73
+
74
+ test 'should be able to update attributes that are protected' do
75
+ assert(HASH_DATA[:test].keys.include?(:protected_attribute_column))
76
+ assert_raise(ActiveModel::MassAssignmentSecurity::Error) do
77
+ NationalPark.create!(HASH_DATA[:test])
78
+ end
79
+ NationalPark.load_built_in_data!(HASH_DATA)
80
+ end
66
81
 
67
82
  #######
68
83
  private
@@ -1,5 +1,5 @@
1
1
  class NationalPark < ActiveRecord::Base
2
2
  include BuiltInData
3
-
4
- attr_accessible :established, :name, :url, :built_in_key
3
+
4
+ attr_accessible :established, :name, :url
5
5
  end
@@ -2,8 +2,9 @@ yellowstone:
2
2
  name: Yellowstone National Park
3
3
  established: 1872-03-01
4
4
  url: 'http://www.nps.gov/yell/index.htm'
5
-
5
+ protected_attribute_column: 'protected data'
6
6
  glacier:
7
7
  name: Glacier National Park
8
8
  established: <%= Date.parse('1910-05-11') %>
9
9
  url: 'http://www.nps.gov/glac/index.htm'
10
+ protected_attribute_column: 'protected data'
Binary file
@@ -0,0 +1,5 @@
1
+ class AddProtectedAttributeColumnToNationalParks < ActiveRecord::Migration
2
+ def change
3
+ add_column :national_parks, :protected_attribute_column, :string
4
+ end
5
+ end
@@ -11,15 +11,16 @@
11
11
  #
12
12
  # It's strongly recommended to check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(:version => 20121024201818) do
14
+ ActiveRecord::Schema.define(:version => 20121101224000) do
15
15
 
16
16
  create_table "national_parks", :force => true do |t|
17
17
  t.string "name"
18
18
  t.date "established"
19
19
  t.string "url"
20
- t.datetime "created_at", :null => false
21
- t.datetime "updated_at", :null => false
20
+ t.datetime "created_at", :null => false
21
+ t.datetime "updated_at", :null => false
22
22
  t.string "built_in_key"
23
+ t.string "protected_attribute_column"
23
24
  end
24
25
 
25
26
  end
Binary file
@@ -1,149 +1,270 @@
1
1
  Connecting to database specified by database.yml
2
+  (20.1ms) select sqlite_version(*)
3
+  (147.2ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255))
4
+  (108.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
5
+  (0.1ms) PRAGMA index_list("schema_migrations")
6
+  (91.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
7
+  (0.1ms) SELECT version FROM "schema_migrations"
8
+  (124.4ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
9
+  (108.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
10
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
2
11
  Connecting to database specified by database.yml
3
-  (0.1ms) select sqlite_version(*)
4
-  (14.7ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
5
-  (0.0ms) PRAGMA index_list("schema_migrations")
6
-  (5.5ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
7
12
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
8
- Migrating to CreateNationalParks (20121024195810)
9
-  (0.0ms) begin transaction
10
-  (0.4ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
11
-  (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ('20121024195810')
12
-  (1.3ms) commit transaction
13
13
   (0.2ms) select sqlite_version(*)
14
+  (145.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
15
+  (133.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
16
+  (0.1ms) PRAGMA index_list("schema_migrations")
17
+  (116.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
18
+  (0.1ms) SELECT version FROM "schema_migrations"
19
+  (116.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
20
+  (117.4ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
21
+ Connecting to database specified by database.yml
22
+  (19.0ms) select sqlite_version(*)
23
+  (195.5ms) DROP TABLE "national_parks"
24
+  (116.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
25
+  (0.1ms) SELECT version FROM "schema_migrations"
26
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
27
+ Connecting to database specified by database.yml
28
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
29
+  (0.3ms) select sqlite_version(*)
30
+  (160.3ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
31
+  (116.5ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
32
+  (0.1ms) PRAGMA index_list("schema_migrations")
33
+  (108.4ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
34
+  (0.1ms) SELECT version FROM "schema_migrations"
35
+  (149.4ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
36
+  (92.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
37
+ Connecting to database specified by database.yml
38
+  (18.3ms) select sqlite_version(*)
39
+  (137.1ms) DROP TABLE "national_parks"
40
+  (116.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
41
+  (0.1ms) SELECT version FROM "schema_migrations"
42
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
43
+ Connecting to database specified by database.yml
44
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
45
+  (0.3ms) select sqlite_version(*)
46
+  (135.2ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
47
+  (116.5ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
48
+  (0.1ms) PRAGMA index_list("schema_migrations")
49
+  (91.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
50
+  (0.1ms) SELECT version FROM "schema_migrations"
51
+  (83.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
52
+  (118.3ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
53
+ Connecting to database specified by database.yml
54
+  (0.1ms) select sqlite_version(*)
55
+  (127.3ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
56
+  (0.1ms) PRAGMA index_list("schema_migrations")
57
+  (99.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
14
58
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
15
-  (0.0ms) PRAGMA index_list("national_parks")
16
59
  Connecting to database specified by database.yml
60
+  (18.7ms) select sqlite_version(*)
61
+  (152.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255))
62
+  (0.1ms) SELECT version FROM "schema_migrations"
63
+  (117.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
64
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
65
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
17
66
  Connecting to database specified by database.yml
67
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
68
+  (0.2ms) select sqlite_version(*)
69
+  (142.2ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
70
+  (116.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
71
+  (0.1ms) PRAGMA index_list("schema_migrations")
72
+  (91.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
73
+  (0.1ms) SELECT version FROM "schema_migrations"
74
+  (91.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
75
+  (83.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
18
76
  Connecting to database specified by database.yml
19
-  (3.5ms) select sqlite_version(*)
20
-  (20.7ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255))
21
-  (1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
22
-  (0.0ms) PRAGMA index_list("schema_migrations")
23
-  (1.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
77
+  (18.6ms) select sqlite_version(*)
78
+  (153.8ms) DROP TABLE "national_parks"
79
+  (116.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
24
80
   (0.1ms) SELECT version FROM "schema_migrations"
25
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
26
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
27
81
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
28
82
  Connecting to database specified by database.yml
29
83
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
30
-  (0.1ms) select sqlite_version(*)
31
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
32
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
33
-  (0.0ms) PRAGMA index_list("schema_migrations")
34
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
35
-  (0.0ms) SELECT version FROM "schema_migrations"
36
-  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
37
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
38
- Connecting to database specified by database.yml
39
-  (3.6ms) select sqlite_version(*)
40
-  (1.4ms) DROP TABLE "national_parks"
41
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
84
+  (0.3ms) select sqlite_version(*)
85
+  (147.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
86
+  (133.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
87
+  (0.1ms) PRAGMA index_list("schema_migrations")
88
+  (116.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
89
+  (0.1ms) SELECT version FROM "schema_migrations"
90
+  (116.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
91
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
92
+ Connecting to database specified by database.yml
93
+  (18.8ms) select sqlite_version(*)
94
+  (138.1ms) DROP TABLE "national_parks"
95
+  (116.7ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
42
96
   (0.1ms) SELECT version FROM "schema_migrations"
43
97
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
44
98
  Connecting to database specified by database.yml
45
99
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
46
-  (0.1ms) select sqlite_version(*)
47
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
48
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
100
+  (0.3ms) select sqlite_version(*)
101
+  (146.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
102
+  (133.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
49
103
   (0.0ms) PRAGMA index_list("schema_migrations")
50
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
51
-  (0.0ms) SELECT version FROM "schema_migrations"
52
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
53
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
54
- Connecting to database specified by database.yml
55
-  (3.7ms) select sqlite_version(*)
56
-  (1.1ms) DROP TABLE "national_parks"
57
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
104
+  (125.0ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
105
+  (0.1ms) SELECT version FROM "schema_migrations"
106
+  (107.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
107
+  (100.3ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
108
+ Connecting to database specified by database.yml
109
+  (18.0ms) select sqlite_version(*)
110
+  (118.1ms) DROP TABLE "national_parks"
111
+  (100.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
58
112
   (0.1ms) SELECT version FROM "schema_migrations"
59
113
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
60
114
  Connecting to database specified by database.yml
61
115
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
62
-  (0.1ms) select sqlite_version(*)
63
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
64
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
65
-  (0.0ms) PRAGMA index_list("schema_migrations")
66
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
67
-  (0.0ms) SELECT version FROM "schema_migrations"
68
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
69
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
70
- Connecting to database specified by database.yml
71
-  (3.6ms) select sqlite_version(*)
72
-  (1.4ms) DROP TABLE "national_parks"
73
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
116
+  (0.3ms) select sqlite_version(*)
117
+  (173.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
118
+  (133.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
119
+  (0.1ms) PRAGMA index_list("schema_migrations")
120
+  (116.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
121
+  (0.1ms) SELECT version FROM "schema_migrations"
122
+  (116.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
123
+  (100.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
124
+ Connecting to database specified by database.yml
125
+  (17.8ms) select sqlite_version(*)
126
+  (157.4ms) DROP TABLE "national_parks"
127
+  (116.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
74
128
   (0.1ms) SELECT version FROM "schema_migrations"
75
129
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
76
130
  Connecting to database specified by database.yml
77
131
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
78
-  (0.1ms) select sqlite_version(*)
79
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
80
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
132
+  (0.2ms) select sqlite_version(*)
133
+  (176.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
134
+  (116.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
81
135
   (0.0ms) PRAGMA index_list("schema_migrations")
82
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
83
-  (0.0ms) SELECT version FROM "schema_migrations"
84
-  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
85
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
86
- Connecting to database specified by database.yml
87
-  (3.6ms) select sqlite_version(*)
88
-  (1.1ms) DROP TABLE "national_parks"
89
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
136
+  (125.0ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
137
+  (0.1ms) SELECT version FROM "schema_migrations"
138
+  (107.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
139
+  (91.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
140
+ Connecting to database specified by database.yml
141
+ Connecting to database specified by database.yml
142
+ Connecting to database specified by database.yml
143
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
144
+ Connecting to database specified by database.yml
145
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
146
+ Migrating to CreateNationalParks (20121024195810)
147
+ Migrating to AddBuiltInKeyToNationalParks (20121024201818)
148
+ Migrating to AddProtectedAttributeColumnToNationalParks (20121101224000)
149
+  (0.0ms) select sqlite_version(*)
150
+  (0.0ms) begin transaction
151
+  (0.6ms) ALTER TABLE "national_parks" ADD "protected_attribute_column" varchar(255)
152
+  (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ('20121101224000')
153
+  (175.8ms) commit transaction
154
+  (0.3ms) select sqlite_version(*)
155
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
156
+  (0.0ms) PRAGMA index_list("national_parks")
157
+ Connecting to database specified by database.yml
158
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
159
+  (0.3ms) select sqlite_version(*)
160
+  (157.9ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
161
+  (116.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
162
+  (0.1ms) PRAGMA index_list("schema_migrations")
163
+  (150.3ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
164
+  (0.1ms) SELECT version FROM "schema_migrations"
165
+  (107.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
166
+  (108.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
167
+  (108.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
168
+ Connecting to database specified by database.yml
169
+  (17.8ms) select sqlite_version(*)
170
+  (179.0ms) DROP TABLE "national_parks"
171
+  (109.8ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
90
172
   (0.1ms) SELECT version FROM "schema_migrations"
91
173
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
92
174
  Connecting to database specified by database.yml
93
175
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
94
-  (0.1ms) select sqlite_version(*)
95
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
96
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
97
-  (0.0ms) PRAGMA index_list("schema_migrations")
98
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
99
-  (0.0ms) SELECT version FROM "schema_migrations"
100
-  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
101
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
102
- Connecting to database specified by database.yml
103
-  (3.6ms) select sqlite_version(*)
104
-  (1.2ms) DROP TABLE "national_parks"
105
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
176
+  (0.3ms) select sqlite_version(*)
177
+  (125.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
178
+  (116.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
179
+  (0.1ms) PRAGMA index_list("schema_migrations")
180
+  (125.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
181
+  (0.1ms) SELECT version FROM "schema_migrations"
182
+  (124.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
183
+  (125.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
184
+  (117.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
185
+ Connecting to database specified by database.yml
186
+  (20.3ms) select sqlite_version(*)
187
+  (150.5ms) DROP TABLE "national_parks"
188
+  (116.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
106
189
   (0.1ms) SELECT version FROM "schema_migrations"
107
190
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
108
191
  Connecting to database specified by database.yml
109
192
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
110
-  (0.1ms) select sqlite_version(*)
111
-  (1.2ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
112
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
113
-  (0.0ms) PRAGMA index_list("schema_migrations")
114
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
115
-  (0.0ms) SELECT version FROM "schema_migrations"
116
-  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
117
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
118
- Connecting to database specified by database.yml
119
-  (3.6ms) select sqlite_version(*)
120
-  (1.4ms) DROP TABLE "national_parks"
121
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
193
+  (0.2ms) select sqlite_version(*)
194
+  (130.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
195
+  (116.5ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
196
+  (0.1ms) PRAGMA index_list("schema_migrations")
197
+  (150.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
198
+  (0.1ms) SELECT version FROM "schema_migrations"
199
+  (82.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
200
+  (108.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
201
+  (91.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
202
+ Connecting to database specified by database.yml
203
+  (17.9ms) select sqlite_version(*)
204
+  (147.3ms) DROP TABLE "national_parks"
205
+  (108.3ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
122
206
   (0.1ms) SELECT version FROM "schema_migrations"
123
207
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
124
208
  Connecting to database specified by database.yml
125
209
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
126
-  (0.1ms) select sqlite_version(*)
127
-  (36.9ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
128
-  (31.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
129
-  (0.0ms) PRAGMA index_list("schema_migrations")
130
-  (21.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
210
+  (0.2ms) select sqlite_version(*)
211
+  (148.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
212
+  (198.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
213
+  (0.1ms) PRAGMA index_list("schema_migrations")
214
+  (100.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
131
215
   (0.1ms) SELECT version FROM "schema_migrations"
132
-  (23.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
133
-  (31.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
216
+  (99.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
217
+  (108.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
218
+  (100.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
134
219
  Connecting to database specified by database.yml
135
-  (3.6ms) select sqlite_version(*)
136
-  (1.1ms) DROP TABLE "national_parks"
137
-  (1.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
220
+ Connecting to database specified by database.yml
221
+  (18.2ms) select sqlite_version(*)
222
+  (132.2ms) DROP TABLE "national_parks"
223
+  (91.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
138
224
   (0.1ms) SELECT version FROM "schema_migrations"
139
225
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
140
226
  Connecting to database specified by database.yml
141
227
   (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
142
-  (0.1ms) select sqlite_version(*)
143
-  (1.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255)) 
144
-  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
228
+  (0.3ms) select sqlite_version(*)
229
+  (142.1ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
230
+  (133.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
231
+  (0.1ms) PRAGMA index_list("schema_migrations")
232
+  (116.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
233
+  (0.1ms) SELECT version FROM "schema_migrations"
234
+  (116.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
235
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
236
+  (117.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
237
+ Connecting to database specified by database.yml
238
+  (18.3ms) select sqlite_version(*)
239
+  (145.2ms) DROP TABLE "national_parks"
240
+  (84.9ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
241
+  (0.1ms) SELECT version FROM "schema_migrations"
242
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
243
+ Connecting to database specified by database.yml
244
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
245
+  (0.3ms) select sqlite_version(*)
246
+  (139.0ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
247
+  (116.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
145
248
   (0.0ms) PRAGMA index_list("schema_migrations")
146
-  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
147
-  (0.0ms) SELECT version FROM "schema_migrations"
148
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
149
-  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
249
+  (116.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
250
+  (0.1ms) SELECT version FROM "schema_migrations"
251
+  (116.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
252
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
253
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')
254
+ Connecting to database specified by database.yml
255
+  (19.0ms) select sqlite_version(*)
256
+  (133.4ms) DROP TABLE "national_parks"
257
+  (99.9ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
258
+  (0.1ms) SELECT version FROM "schema_migrations"
259
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
260
+ Connecting to database specified by database.yml
261
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
262
+  (0.3ms) select sqlite_version(*)
263
+  (135.6ms) CREATE TABLE "national_parks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "established" date, "url" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "built_in_key" varchar(255), "protected_attribute_column" varchar(255)) 
264
+  (108.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
265
+  (0.1ms) PRAGMA index_list("schema_migrations")
266
+  (116.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
267
+  (0.1ms) SELECT version FROM "schema_migrations"
268
+  (116.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20121101224000')
269
+  (125.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024195810')
270
+  (116.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20121024201818')