Browse Source

Migrate date field to a propper datetime field

Jocelyn Delande 9 years ago
parent
commit
aaf68d0ca9

+ 1 - 0
requirements/base.txt

@@ -1 +1,2 @@
 Django==1.9.3
+pytz

+ 25 - 0
wifiwithme/apps/contribmap/migrations/0006_auto_20160303_1321.py

@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.3 on 2016-03-03 13:21
+from __future__ import unicode_literals
+import datetime
+import pytz
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('contribmap', '0005_auto_20160303_1222'),
+    ]
+
+    operations = [
+        migrations.RenameField('contrib', 'date', 'old_date'),
+        migrations.AddField(
+            model_name='contrib',
+            name='date',
+            field=models.DateTimeField(
+                auto_now_add=True, default=datetime.datetime.now(pytz.utc)),
+            preserve_default=False,
+        ),
+    ]

+ 26 - 0
wifiwithme/apps/contribmap/migrations/0007_auto_20160303_1326.py

@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.3 on 2016-03-03 13:26
+from __future__ import unicode_literals
+from email.utils import parsedate_to_datetime
+
+from django.db import migrations
+from django.utils.timezone import make_aware
+
+
+def migrate_date_field(apps, schema_editor):
+    Contrib = apps.get_model('contribmap', 'contrib')
+    for i in Contrib.objects.all():
+        if i.date:
+            i.date = make_aware(parsedate_to_datetime(i.old_date))
+            i.save()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('contribmap', '0006_auto_20160303_1321'),
+    ]
+
+    operations = [
+        migrations.RunPython(migrate_date_field)
+    ]

+ 19 - 0
wifiwithme/apps/contribmap/migrations/0008_remove_contrib_old_date.py

@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.3 on 2016-03-03 13:36
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('contribmap', '0007_auto_20160303_1326'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='contrib',
+            name='old_date',
+        ),
+    ]

+ 1 - 1
wifiwithme/apps/contribmap/models.py

@@ -39,7 +39,7 @@ class Contrib(models.Model):
     privacy_coordinates = models.BooleanField(default=True)
     privacy_place_details = models.BooleanField(default=True)
     privacy_comment = models.BooleanField(default=False)
-    date = models.TextField(blank=True, null=True)
+    date = models.DateTimeField(auto_now_add=True)
 
     class Meta:
         managed = True