diff --git a/xos/synchronizer/migrations/0003_auto_20190312_1833.py b/xos/synchronizer/migrations/0003_auto_20190312_1833.py
new file mode 100644
index 0000000..0f44341
--- /dev/null
+++ b/xos/synchronizer/migrations/0003_auto_20190312_1833.py
@@ -0,0 +1,80 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2019-03-12 22:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('att-workflow-driver', '0002_auto_20190305_0239'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='authentication_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'STARTED', b'Started'), (b'REQUESTED', b'Requested'), (b'APPROVED', b'Approved'), (b'DENIED', b'Denied')], default=b'AWAITING', help_text=b'Subscriber authentication state', max_length=50),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='dhcp_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'DHCPDISCOVER', b'DHCPDISCOVER'), (b'DHCPACK', b'DHCPACK'), (b'DHCPREQUEST', b'DHCPREQUEST')], default=b'AWAITING', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='of_dpid',
+            field=models.CharField(help_text=b'OLT Openflow ID', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='onu_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'ENABLED', b'Enabled'), (b'DISABLED', b'Disabled')], default=b'AWAITING', help_text=b'ONU administrative state', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='serial_number',
+            field=models.CharField(help_text=b'Serial number of ONU', max_length=254, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='device_id',
+            field=models.CharField(help_text=b'OLT Device (logical device id) on which this ONU is expected to show up', max_length=54),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='leaf_model_name',
+            field=models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='serial_number',
+            field=models.CharField(help_text=b'ONU Serial Number', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+    ]
diff --git a/xos/synchronizer/models/att-workflow-driver.xproto b/xos/synchronizer/models/att-workflow-driver.xproto
index 6b4d7ba..5d4f61a 100644
--- a/xos/synchronizer/models/att-workflow-driver.xproto
+++ b/xos/synchronizer/models/att-workflow-driver.xproto
@@ -14,7 +14,6 @@
 
     required string serial_number = 2 [
         help_text = "Serial number of ONU",
-        db_index = False,
         max_length = 254,
         tosca_key=True,
         unique = True];
@@ -22,42 +21,34 @@
         help_text = "Subscriber authentication state",
         choices = "(('AWAITING', 'Awaiting'), ('STARTED', 'Started'), ('REQUESTED', 'Requested'), ('APPROVED', 'Approved'), ('DENIED', 'Denied'), )",
         default = "AWAITING",
-        db_index = False,
         feedback_state = True,
         max_length = 50];
     required string of_dpid = 4 [
         help_text = "OLT Openflow ID",
-        db_index = False,
         max_length = 254];
     required int32 uni_port_id = 5 [
-        help_text = "ONU UNI port ID",
-        db_index = False];
+        help_text = "ONU UNI port ID"];
     required string onu_state = 6 [
         help_text = "ONU administrative state",
         choices = "(('AWAITING', 'Awaiting'), ('ENABLED', 'Enabled'), ('DISABLED', 'Disabled'))",
-        db_index = False,
         default = "AWAITING",
         feedback_state = True,
         max_length = 254];
     optional string status_message = 7 [
         help_text = "Status text of current state machine state",
-        db_index = False,
         default = "",
         max_length = 254];
     required string dhcp_state = 8 [
         max_length = 254,
-        db_index = False,
         default = "AWAITING",
         choices = "(('AWAITING', 'Awaiting'), ('DHCPDISCOVER', 'DHCPDISCOVER'), ('DHCPACK', 'DHCPACK'), ('DHCPREQUEST', 'DHCPREQUEST'))",
         feedback_state = True];
     optional string ip_address = 9 [
         help_text = "Subcriber IP address, learned from DHCP",
-        db_index = False,
         feedback_state = True,
         max_length = 20];
     optional string mac_address = 10 [
         help_text = "Subscriber MAC address, leanred from DHCP",
-        db_index = False,
         feedback_state = True,
         max_length = 20];
 }
@@ -73,15 +64,12 @@
         tosca_key = True];
     required string serial_number = 2 [
         help_text = "ONU Serial Number",
-        db_index = False,
         max_length = 254,
         tosca_key = True,
         unique_with = "owner"];
     required int32 pon_port_id = 3 [
-        help_text = "PON Port on which this ONU is expected to show up",
-        db_index = False];
+        help_text = "PON Port on which this ONU is expected to show up"];
     required string device_id = 4 [
         help_text = "OLT Device (logical device id) on which this ONU is expected to show up",
-        db_index = False,
         max_length = 54];
 }
