Adds an option to choose if fact tables are persistent.
This commit is contained in:
parent
4a7682320b
commit
5b35b03a1a
@ -53,7 +53,7 @@ writeFiles outputDir env@Env{..} = do
|
||||
|
||||
where
|
||||
dimTables = [ (fact, extractDimensionTables env fact) | fact <- envFacts ]
|
||||
factTables = [ (fact, extractFactTable env fact) | fact <- envFacts ]
|
||||
factTables = [ (fact, extractFactTable env fact) | fact <- envFacts, factTablePersistent fact ]
|
||||
|
||||
dimTableDefnSQLs = [ (Create, tableName table, unlines . map sqlStr $ dimensionTableDefnSQL env table)
|
||||
| (_, tabs) <- dimTables
|
||||
|
@ -67,6 +67,7 @@ instance FromJSON FactColumn where
|
||||
instance FromJSON Fact where
|
||||
parseJSON (Object o) = Fact <$> o .: "name"
|
||||
<*> o .: "tablename"
|
||||
<*> o .:? "persistent" .!= True
|
||||
<*> o .:? "parentfacts" .!= []
|
||||
<*> o .: "columns"
|
||||
parseJSON o = fail $ "Cannot parse fact: " ++ show o
|
||||
|
@ -42,10 +42,11 @@ timeUnitToSeconds Day = 24 * timeUnitToSeconds Hour
|
||||
timeUnitToSeconds Week = 7 * timeUnitToSeconds Day
|
||||
|
||||
data Fact = Fact
|
||||
{ factName :: !TableName
|
||||
, factTableName :: !TableName
|
||||
, factParentNames :: ![TableName]
|
||||
, factColumns :: ![FactColumn]
|
||||
{ factName :: !TableName
|
||||
, factTableName :: !TableName
|
||||
, factTablePersistent :: !Bool
|
||||
, factParentNames :: ![TableName]
|
||||
, factColumns :: ![FactColumn]
|
||||
} deriving (Eq, Show)
|
||||
|
||||
data FactColumn = DimTime !ColumnName
|
||||
|
Loading…
Reference in New Issue
Block a user