Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dbImportPresentation.pdf
Search
Adam Weis
November 28, 2012
1
28
dbImportPresentation.pdf
Adam Weis
November 28, 2012
Tweet
Share
More Decks by Adam Weis
See All by Adam Weis
67-311 Data import presentation
aweis
1
56
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Optimizing for Happiness
mojombo
379
70k
Practical Orchestrator
shlominoach
189
11k
Statistics for Hackers
jakevdp
799
220k
Side Projects
sachag
455
42k
Done Done
chrislema
184
16k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
A better future with KSS
kneath
238
17k
Transcript
67-311 Database Design and Implementation Adam Weis 11/11/12 Wednesday, November
28, 12
Database Redesign Case study: Wednesday, November 28, 12
Database Redesign Case study: Wednesday, November 28, 12
Fall 2011 Wednesday, November 28, 12
Fall 2011 Wednesday, November 28, 12
Wednesday, November 28, 12
Spring 2013 Wednesday, November 28, 12
Spring 2013 Wednesday, November 28, 12
Wednesday, November 28, 12
Wednesday, November 28, 12
Wednesday, November 28, 12
Wednesday, November 28, 12
ERD - Fall 2011 Wednesday, November 28, 12
ERD - Spring 2013 Wednesday, November 28, 12
Overview Wednesday, November 28, 12
Overview How to upgrade database design? Wednesday, November 28, 12
Overview How to upgrade database design? How to import old
data? Wednesday, November 28, 12
What changed? Wednesday, November 28, 12
What changed? A lot. Wednesday, November 28, 12
What changed? A lot. Instructors are now a table, not
a row in Courses Wednesday, November 28, 12
What changed? A lot. Instructors are now a table, not
a row in Courses Completely new relationships with “Group” join table Wednesday, November 28, 12
What changed? A lot. Instructors are now a table, not
a row in Courses Completely new relationships with “Group” join table etc. Wednesday, November 28, 12
Migrations Wednesday, November 28, 12
Migrations Awesome for database manipulation Wednesday, November 28, 12
Migrations Awesome for database manipulation Bad with legacy data Wednesday,
November 28, 12
Solution Wednesday, November 28, 12
Solution Write a database importer script! Wednesday, November 28, 12
Solution Write a database importer script! Query both databases simultaneously
to import legacy data into new schema! Wednesday, November 28, 12
Database importer Wednesday, November 28, 12
Database importer ingredients Wednesday, November 28, 12
Database importer ingredients Establish a new ActiveRecord connection with old
database Wednesday, November 28, 12
Database importer ingredients Establish a new ActiveRecord connection with old
database Recreate all legacy model relationships Wednesday, November 28, 12
Database importer ingredients Establish a new ActiveRecord connection with old
database Recreate all legacy model relationships Create the to_model methods Wednesday, November 28, 12
Database importer ingredients Establish a new ActiveRecord connection with old
database Recreate all legacy model relationships Create the to_model methods Write the driver Wednesday, November 28, 12
Example Wednesday, November 28, 12
Citations Wednesday, November 28, 12
Citations Vincent Siao (SCS & HCI 2014) Wednesday, November 28,
12
Citations Vincent Siao (SCS & HCI 2014) Jason MacDonald (SCS
2013) Wednesday, November 28, 12
Citations Vincent Siao (SCS & HCI 2014) Jason MacDonald (SCS
2013) Steven Fackler (SCS 2013) Wednesday, November 28, 12
Citations Vincent Siao (SCS & HCI 2014) Jason MacDonald (SCS
2013) Steven Fackler (SCS 2013) Tim Riley: http://openmonkey.com/blog/2009/05/02/ importing-legacy-data-in-rails/ Wednesday, November 28, 12
Citations Vincent Siao (SCS & HCI 2014) Jason MacDonald (SCS
2013) Steven Fackler (SCS 2013) Tim Riley: http://openmonkey.com/blog/2009/05/02/ importing-legacy-data-in-rails/ https://github.com/aweis/rails_importer/blob/master/ S13importer.rb Wednesday, November 28, 12