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
67-311 Data import presentation
Search
Adam Weis
November 28, 2012
Education
1
56
67-311 Data import presentation
How to import data after a database transition. Case Study: Schedule+
Adam Weis
November 28, 2012
Tweet
Share
More Decks by Adam Weis
See All by Adam Weis
dbImportPresentation.pdf
aweis
1
28
Other Decks in Education
See All in Education
20250625_なんでもCopilot 一年の振り返り
ponponmikankan
0
250
Avoin jakaminen ja Creative Commons -lisenssit
matleenalaakso
0
1.9k
より良い学振申請書(DC)を作ろう 2025
luiyoshida
1
3.3k
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
130
ふりかえり研修2025
pokotyamu
0
1.2k
i-GIP 2025 中高生のみなさんへ資料
202200
0
500
諸外国の理科カリキュラムにおけるビッグアイデアの構造比較
arumakan
0
340
自己紹介 / who-am-i
yasulab
PRO
3
5.2k
(キラキラ)人事教育担当のつらみ~教育担当として知っておくポイント~
masakiokuda
0
110
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
4
16k
マネジメント「される側」 こそ覚悟を決めろ
nao_randd
10
5.4k
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Balancing Empowerment & Direction
lara
1
440
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Documentation Writing (for coders)
carmenintech
72
4.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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