31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/masamune/transform/define_schema.rb', line 31
def define_schema(catalog, store_id, options = {})
context = catalog[store_id]
operators = []
operators += context.(:pre)
context.dimensions.each do |_, dimension|
operators << define_table(dimension, options)
end
context.facts.each do |_, fact|
operators << define_table(fact, options)
fact.partition_tables(options[:start_date], options[:stop_date]) do |fact_partition_table|
operators << define_table(fact_partition_table, options)
end
end
operators += context.(:post)
Operator.new __method__, *operators, source: context
end
|