@@ -432,11 +432,21 @@ defmodule Ecto.Migration.Runner do
432432 defp command ( ddl ) when is_binary ( ddl ) or is_list ( ddl ) ,
433433 do: "execute #{ inspect ( ddl ) } "
434434
435- defp command ( { :create , % Table { } = table , _ } ) ,
436- do: "create table #{ quote_name ( table . prefix , table . name ) } "
435+ defp command ( { :create , % Table { } = table , _ } ) do
436+ if repo_config ( :create_unlogged_tables , false ) do
437+ "create unlogged table #{ quote_name ( table . prefix , table . name ) } "
438+ else
439+ "create table #{ quote_name ( table . prefix , table . name ) } "
440+ end
441+ end
437442
438- defp command ( { :create_if_not_exists , % Table { } = table , _ } ) ,
439- do: "create table if not exists #{ quote_name ( table . prefix , table . name ) } "
443+ defp command ( { :create_if_not_exists , % Table { } = table , _ } ) do
444+ if repo_config ( :create_unlogged_tables , false ) do
445+ "create unlogged table if not exists #{ quote_name ( table . prefix , table . name ) } "
446+ else
447+ "create table if not exists #{ quote_name ( table . prefix , table . name ) } "
448+ end
449+ end
440450
441451 defp command ( { :alter , % Table { } = table , _ } ) ,
442452 do: "alter table #{ quote_name ( table . prefix , table . name ) } "
0 commit comments