diff --git a/db/migrations/20181029145849_user_email_unique.php b/db/migrations/20181029145849_user_email_unique.php
new file mode 100644
index 0000000000000000000000000000000000000000..371c82021fcacb4b622d2f65878f1f772f9b0e81
--- /dev/null
+++ b/db/migrations/20181029145849_user_email_unique.php
@@ -0,0 +1,39 @@
+<?php
+
+
+use Phinx\Migration\AbstractMigration;
+
+class UserEmailUnique extends AbstractMigration
+{
+    /**
+     * Change Method.
+     *
+     * Write your reversible migrations using this method.
+     *
+     * More information on writing migrations is available here:
+     * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
+     *
+     * The following commands can be used in this method and Phinx will
+     * automatically reverse them when rolling back:
+     *
+     *    createTable
+     *    renameTable
+     *    addColumn
+     *    addCustomColumn
+     *    renameColumn
+     *    addIndex
+     *    addForeignKey
+     *
+     * Any other destructive changes will result in an error when trying to
+     * rollback the migration.
+     *
+     * Remember to call "create()" or "update()" and NOT "save()" when working
+     * with the Table class.
+     */
+    public function change()
+    {
+        $table = $this->table('users');
+        $table->addIndex(['email'], ['unique' => true, 'name' => 'idx_users_emails'])
+            ->update();
+    }
+}