diff --git a/xos/synchronizer/migrations/0003_auto_20190312_1839.py b/xos/synchronizer/migrations/0003_auto_20190312_1839.py
new file mode 100644
index 0000000..1dacd7e
--- /dev/null
+++ b/xos/synchronizer/migrations/0003_auto_20190312_1839.py
@@ -0,0 +1,140 @@
+# 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:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('fabric', '0002_auto_20190305_0238'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            name='ip',
+            field=models.CharField(help_text=b'The unique IP address (either IPv4 or IPv6 / netmask)', max_length=52),
+        ),
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            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='fabricipaddress',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='nodetoswitchport',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='nodetoswitchport',
+            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='nodetoswitchport',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            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='portinterface',
+            name='name',
+            field=models.CharField(help_text=b'The unique name of the fabric switch port', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='driver',
+            field=models.CharField(default=b'ofdpa3', help_text=b'The driver used by the SDN controller', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='ipv4Loopback',
+            field=models.CharField(help_text=b'Fabric loopback interface', max_length=17),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            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='switch',
+            name='name',
+            field=models.CharField(help_text=b'The unique name of the fabric switch', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='ofId',
+            field=models.CharField(help_text=b'The unique OpenFlow ID of the fabric switch', max_length=19),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='routerMac',
+            field=models.CharField(help_text=b'MAC address of the fabric switch used for all interfaces', max_length=17),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='switchport',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='switchport',
+            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='switchport',
+            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/fabric.xproto b/xos/synchronizer/models/fabric.xproto
index b542f30..d07fdbb 100644
--- a/xos/synchronizer/models/fabric.xproto
+++ b/xos/synchronizer/models/fabric.xproto
@@ -7,8 +7,7 @@
     
     optional bool autoconfig = 1 [
         help_text="Automatically apply addresses from AddressManager service to Fabric",
-        default = True,
-        null = False];
+        default = True];
 }
 
 message Switch(XOSBase) {
@@ -17,32 +16,25 @@
 
     required string ofId = 1 [
         help_text = "The unique OpenFlow ID of the fabric switch",
-        db_index = False,
         max_length = 19];
     required string name = 2 [
         help_text = "The unique name of the fabric switch",
-        db_index = False,
         max_length = 254];
     required string driver = 3 [
         help_text = "The driver used by the SDN controller",
-        db_index = False,
         default = "ofdpa3",
         max_length = 254];
     required int32 ipv4NodeSid = 4 [
-        help_text = "The MPLS label used by the switch [17 - 1048576]",
-        db_index = False];
+        help_text = "The MPLS label used by the switch [17 - 1048576]"];
     required string ipv4Loopback = 5 [
         help_text = "Fabric loopback interface",
-        db_index = False,
         max_length = 17];
     required string routerMac = 6 [
         help_text = "MAC address of the fabric switch used for all interfaces",
-        db_index = False,
         max_length = 17];
     required bool isEdgeRouter = 7 [
         help_text="True if the fabric switch is a leaf, False if it is a spine",
-        default = True,
-        null = False];
+        default = True];
 }
 
 message SwitchPort(XOSBase) {
@@ -55,12 +47,10 @@
         tosca_key=True];
     required int32 portId = 2 [
         help_text = "The unique port OpenFlow port ID",
-        db_index = False,
         tosca_key=True];
     required bool host_learning = 3 [
         help_text = "whether or not to enable autodiscovery",
-        default = True,
-        db_index = False];
+        default = True];
 }
 
 message PortInterface(XOSBase) {
@@ -72,11 +62,9 @@
         db_index = True];
     required string name = 2 [
         help_text = "The unique name of the fabric switch port",
-        db_index = False,
         max_length = 254];
     optional int32 vlanUntagged = 3 [
-        help_text = "The optional untagged VLAN ID for the interface",
-        db_index = False];
+        help_text = "The optional untagged VLAN ID for the interface"];
 }
 
 message NodeToSwitchPort(XOSBase) {
@@ -103,12 +91,10 @@
         tosca_key = True];
     required string ip = 2 [
         help_text = "The unique IP address (either IPv4 or IPv6 / netmask)",
-        db_index = False,
         max_length = 52,
         tosca_key = True,
         unique_with = "interface"];
     optional string description = 3 [
         help_text = "A short description of the IP address",
-        db_index = False,
         max_length = 254];
 }
