built_in_data 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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')