You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/pages/01-introduction/04-python-2-or-3.markdown
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,7 +135,11 @@ should upgrade as soon as possible.
135
135
136
136
*[How Dropbox rolled out one of the largest Python 3 migrations ever](https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/)
137
137
explains how their transition began in 2015 and was successfully completed
138
-
in 2018.
138
+
in 2018. There is also a follow up post on
139
+
[incrementally migrating over one million lines of code from Python 2 to Python 3](https://blogs.dropbox.com/tech/2019/02/incrementally-migrating-over-one-million-lines-of-code-from-python-2-to-python-3/)
140
+
that has more details on how hack weeks were able to help make enough
141
+
progress so the engineers could better estimate the scope of work when
142
+
the transition from 2 to 3 became critical to their development toolchain.
139
143
140
144
*[Why Python 3?](http://whypy3.com/) randomly outputs valid reasons to
@@ -122,6 +132,10 @@ following resources should get you past the initial hurdles.
122
132
explains why South was not directly integrated into Django, how migrations
123
133
are built and shows how backwards migrations work.
124
134
135
+
*[Executing custom SQL in Django migrations](https://www.endpoint.com/blog/2016/09/17/executing-custom-sql-in-django-migration)
136
+
examines how you can hook in straight SQL that will run during a Django
137
+
migration.
138
+
125
139
*[Squashing and optimizing migrations in Django](http://www.rkblog.rk.edu.pl/w/p/squashing-and-optimizing-migrations-django/)
126
140
shows a simple example with code for how to use the migrations integrated
127
141
into Django 1.7.
@@ -140,3 +154,16 @@ following resources should get you past the initial hurdles.
140
154
migrations to ensure data migrations work well throughout
141
155
the lifecycle of your Django project.
142
156
157
+
*[Strategies for reducing memory usage in Django migrations](https://www.azavea.com/blog/2017/02/23/strategies-reducing-memory-usage-django-migrations/)
158
+
shows the large memory usage problem that often occurs with Django
159
+
migrations at scale and what you can do to mitigate the issue.
160
+
161
+
*[How to Create Django Data Migrations](https://simpleisbetterthancomplex.com/tutorial/2017/09/26/how-to-create-django-data-migrations.html)
162
+
has a straightforward blog ORM modeling example to show how to perform
163
+
data migration.
164
+
165
+
*[Keeping data integrity with Django migrations](https://cheesecakelabs.com/blog/keeping-data-integrity-django-migrations/)
166
+
shows two table modification scenarios, one where a column needs to be
167
+
added to an existing table, and another where a `Many-to-Many` field needs
168
+
to be converted to a standard `ForeignKey` column while retaining all
<divclass="well see-also">Vue.js is an implementation of the <ahref="/javascript.html">JavaScript frameworks</a> concept. Learn how these pieces fit together in the <ahref="/web-development.html">web development</a> chapter or view the <ahref="/table-of-contents.html">table of contents</a> for all topics.</div>
17
18
18
19
20
+
### Vue.js-related projects
21
+
*[flask-vue-spa](https://github.com/oleg-agapov/flask-vue-spa) is an example
22
+
project with a [Flask](/flask.html) API on the backend and Vue on the front.
0 commit comments