         |> Enum.map(&("    " <> &1))
         |> Enum.join("\n")
 
+      statement = case verb do
+                    :alter -> "#{verb} table(:#{table_name}) do"
+                    :create -> gen_table_statement(table_name)
+                  end
+
       change = """
-          #{verb} table(:#{table_name}) do
+          #{statement}
       #{adds}
           end
       #{constraints}

    table_name = config[:user_table_name]
    do_gen_migration config, "create_coherence_rememberable", fn repo, _path, file, name ->
      change = """
          create table(:rememberables) do
            add :series_hash, :string
            add :token_hash, :string
            add :token_created_at, :utc_datetime
            add :user_id, references(:#{table_name}, on_delete: :delete_all)

            timestamps
          end

    table_name = config[:user_table_name]
    do_gen_migration config, "create_coherence_trackable", fn repo, _path, file, name ->
      change = """
          #{gen_table_statement(:trackables)}
            add :action, :string
            add :sign_in_count, :integer, default: 0
            add :current_sign_in_at, :utc_datetime
            add :last_sign_in_at, :utc_datetime
            add :current_sign_in_ip, :string
            add :last_sign_in_ip, :string
            add :user_id, #{gen_reference(table_name)}

            timestamps
          end
