diff --git a/opentech/apply/activity/management/commands/migrate_comments.py b/opentech/apply/activity/management/commands/migrate_comments.py
index 59bfd12b154726dd0b78a9f086a3aec4c2325894..d03da81e7c6619e060663d15fb97066784b05907 100644
--- a/opentech/apply/activity/management/commands/migrate_comments.py
+++ b/opentech/apply/activity/management/commands/migrate_comments.py
@@ -39,6 +39,10 @@ class Command(BaseCommand):
                 type='comment',
                 visibility='internal',
             )
+            # Disable auto_* on date fields so imported dates are used.
+            for field in activity._meta.local_fields:
+                if field.name == "timestamp":
+                    field.auto_now_add = False
             try:
                 activity.save()
                 self.stdout.write(f"Processed \"{comment['subject']}\" ({comment['cid']})")
diff --git a/opentech/apply/determinations/management/commands/migrate_concept_determinations.py b/opentech/apply/determinations/management/commands/migrate_concept_determinations.py
index 7e61f0b05f5024c401ed882f2a7d3ae641a0ab3a..ce73c9362be0977d6b0de20f4ddddf2f7163c41a 100644
--- a/opentech/apply/determinations/management/commands/migrate_concept_determinations.py
+++ b/opentech/apply/determinations/management/commands/migrate_concept_determinations.py
@@ -67,6 +67,13 @@ class Command(BaseCommand):
         except Determination.DoesNotExist:
             determination = Determination(drupal_id=node['nid'])
 
+        # Disable auto_* on date fields so imported dates are used.
+        for field in determination._meta.local_fields:
+            if field.name == "created_at":
+                field.auto_now_add = False
+            elif field.name == "updated_at":
+                field.auto_now = False
+
         # TODO timezone?
         determination.created_at = datetime.fromtimestamp(int(node['created']), timezone.utc)
         determination.updated_at = datetime.fromtimestamp(int(node['changed']), timezone.utc)
diff --git a/opentech/apply/determinations/management/commands/migrate_proposal_determinations.py b/opentech/apply/determinations/management/commands/migrate_proposal_determinations.py
index b503d0ef71c687a9182acdcd44a80cb77d8c9dc5..a43b335ec2e6e55d93eed052c9fa573d0f2af51f 100644
--- a/opentech/apply/determinations/management/commands/migrate_proposal_determinations.py
+++ b/opentech/apply/determinations/management/commands/migrate_proposal_determinations.py
@@ -119,6 +119,13 @@ class Command(BaseCommand):
         except Determination.DoesNotExist:
             determination = Determination(drupal_id=node['nid'])
 
+        # Disable auto_* on date fields so imported dates are used.
+        for field in determination._meta.local_fields:
+            if field.name == "created_at":
+                field.auto_now_add = False
+            elif field.name == "updated_at":
+                field.auto_now = False
+
         # TODO timezone?
         determination.created_at = datetime.fromtimestamp(int(node['created']), timezone.utc)
         determination.updated_at = datetime.fromtimestamp(int(node['changed']), timezone.utc)
@@ -202,6 +209,10 @@ class Command(BaseCommand):
         return value
 
     def get_user(self, uid):
+        # Dan Blah hade one extra admin account uid 52 in old system,
+        # all content should be set to uid 2 in the new system.
+        if uid == '52':
+            uid = '2'
         try:
             User = get_user_model()
             return User.objects.get(drupal_id=uid)
diff --git a/opentech/apply/funds/management/commands/migration_base.py b/opentech/apply/funds/management/commands/migration_base.py
index d469324f509b5edc9800593c9de0d8efc9792642..547f8b2059f1ba0dda1b0f185f5f3a1c2f214a9c 100644
--- a/opentech/apply/funds/management/commands/migration_base.py
+++ b/opentech/apply/funds/management/commands/migration_base.py
@@ -80,6 +80,11 @@ class MigrateCommand(BaseCommand):
         except ApplicationSubmission.DoesNotExist:
             submission = ApplicationSubmission(drupal_id=node['nid'])
 
+        # Disable auto_* on date fields so imported dates are used.
+        for field in submission._meta.local_fields:
+            if field.name == "submit_time":
+                field.auto_now_add = False
+
         # TODO timezone?
         submission.submit_time = datetime.fromtimestamp(int(node['created']), timezone.utc)
         submission.user = self.get_user(node['uid'])
diff --git a/opentech/apply/review/management/commands/migration_review_base.py b/opentech/apply/review/management/commands/migration_review_base.py
index d00b1a72c491e262d4d4f81ce2b3e06d5202c5e2..8cd7c989108b0dce2f5aea76dc70cc62af69f62b 100644
--- a/opentech/apply/review/management/commands/migration_review_base.py
+++ b/opentech/apply/review/management/commands/migration_review_base.py
@@ -1,6 +1,8 @@
 import argparse
 import json
 
+from datetime import datetime, timezone
+
 from django.contrib.auth import get_user_model
 from django.core.management.base import BaseCommand
 from django.db import transaction
@@ -103,6 +105,16 @@ class MigrateCommand(BaseCommand):
         except Review.DoesNotExist:
             review = Review(drupal_id=node['nid'])
 
+        # Disable auto_* on date fields so imported dates are used.
+        for field in review._meta.local_fields:
+            if field.name == "created_at":
+                field.auto_now_add = False
+            elif field.name == "updated_at":
+                field.auto_now = False
+
+        # TODO timezone?
+        review.created_at = datetime.fromtimestamp(int(node['created']), timezone.utc)
+        review.updated_at = datetime.fromtimestamp(int(node['changed']), timezone.utc)
         review.author = self.get_user(node['uid'])
         review.recommendation = self.get_recommendation(node)
         review.submission = self.get_submission(node)
diff --git a/opentech/apply/review/migrations/0011_add_date_fields.py b/opentech/apply/review/migrations/0011_add_date_fields.py
new file mode 100644
index 0000000000000000000000000000000000000000..7758db9f85dfb19515078c581019c729a1ac4890
--- /dev/null
+++ b/opentech/apply/review/migrations/0011_add_date_fields.py
@@ -0,0 +1,25 @@
+# Generated by Django 2.0.2 on 2018-09-07 15:01
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('review', '0010_review_drupal_id'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='review',
+            name='created_at',
+            field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Creation time'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='review',
+            name='updated_at',
+            field=models.DateTimeField(auto_now=True, verbose_name='Update time'),
+        ),
+    ]
diff --git a/opentech/apply/review/models.py b/opentech/apply/review/models.py
index e7247750b487d69a975f632ad7ac19269e23c8b6..361a8d0c352070d509c80726df33cfd0badb48f9 100644
--- a/opentech/apply/review/models.py
+++ b/opentech/apply/review/models.py
@@ -5,6 +5,7 @@ from django.db import models
 from django.db.models.signals import post_save
 from django.dispatch import receiver
 from django.urls import reverse
+from django.utils.translation import ugettext_lazy as _
 from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel
 from wagtail.core.fields import StreamField
 
@@ -116,9 +117,11 @@ class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model
 
     form_data = JSONField(default=dict, encoder=DjangoJSONEncoder)
 
-    recommendation = models.IntegerField(verbose_name="Recommendation", choices=RECOMMENDATION_CHOICES, default=0)
+    recommendation = models.IntegerField(verbose_name=_("Recommendation"), choices=RECOMMENDATION_CHOICES, default=0)
     score = models.DecimalField(max_digits=10, decimal_places=1, default=0)
-    is_draft = models.BooleanField(default=False, verbose_name="Draft")
+    is_draft = models.BooleanField(default=False, verbose_name=_("Draft"))
+    created_at = models.DateTimeField(verbose_name=_("Creation time"), auto_now_add=True)
+    updated_at = models.DateTimeField(verbose_name=_("Update time"), auto_now=True)
 
     # Meta: used for migration purposes only
     drupal_id = models.IntegerField(null=True, blank=True, editable=False)