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
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Designing for humans not robots
tammielis
253
25k
Embracing the Ebb and Flow
colly
87
4.8k
How to Ace a Technical Interview
jacobian
279
23k
Statistics for Hackers
jakevdp
799
220k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
KATA
mclloyd
32
14k
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