diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 9925710..7fd9b09 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -15,7 +15,7 @@
 # docker build -t xosproject/vrouter-synchronizer:candidate -f Dockerfile.synchronizer .
 
 # xosproject/vrouter-synchronizer
-FROM xosproject/xos-synchronizer-base:2.2.1
+FROM xosproject/xos-synchronizer-base:2.2.5
 
 COPY xos/synchronizer /opt/xos/synchronizers/vrouter
 COPY VERSION /opt/xos/synchronizers/vrouter/
diff --git a/xos/synchronizer/migrations/0002_auto_20190305_0242.py b/xos/synchronizer/migrations/0002_auto_20190305_0242.py
new file mode 100644
index 0000000..aba1109
--- /dev/null
+++ b/xos/synchronizer/migrations/0002_auto_20190305_0242.py
@@ -0,0 +1,45 @@
+# 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-05 07:42
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('vrouter', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='vrouterstaticroute',
+            name='backend_status',
+            field=models.CharField(blank=True, default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='vrouterstaticroute',
+            name='leaf_model_name',
+            field=models.CharField(blank=True, 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='vrouterstaticroute',
+            name='updated',
+            field=models.DateTimeField(blank=True, default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+    ]
