Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions bigquery_etl/cli/stage.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,8 +310,18 @@ def _view_dependencies(artifact_files, sql_dir):
if not path.exists():
path.mkdir(parents=True, exist_ok=True)
# don't create schema for wildcard and metadata tables
# Create schemas for syndicated tables, stable, live tables and other
# tables not managed by bigquery-etl by doing a dryrun.
# The stage project doesn't have access to prod tables (e.g when referenced)
# so we need to create the schema here and deploy it.
if "*" not in name and name != "INFORMATION_SCHEMA":
partitioned_by = "submission_timestamp"
partitioned_by = None

if any(
dataset.endswith(suffix) for suffix in ("_live", "_stable")
):
partitioned_by = "submission_timestamp"

schema = Schema.for_table(
project=project,
dataset=dataset,
Expand All @@ -321,11 +331,11 @@ def _view_dependencies(artifact_files, sql_dir):
)
schema.to_yaml_file(path / SCHEMA_FILE)

if not file_exists_for_dependency:
(path / QUERY_SCRIPT).write_text(
"# Table stub generated by stage deploy"
)
view_dependencies.add(path / QUERY_SCRIPT)
if not file_exists_for_dependency:
(path / QUERY_SCRIPT).write_text(
"# Table stub generated by stage deploy"
)
view_dependencies.add(path / QUERY_SCRIPT)

# extract UDF references from view definition
raw_routines = read_routine_dir()
Expand Down
6 changes: 3 additions & 3 deletions bigquery_etl/view/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -426,9 +426,9 @@ def publish(self, target_project=None, dry_run=False, client=None):

if not self.metadata:
print(f"Missing metadata for {self.path}")

table.description = self.metadata.description
table.friendly_name = self.metadata.friendly_name
else:
table.description = self.metadata.description
table.friendly_name = self.metadata.friendly_name

if table.labels != self.labels:
labels = self.labels.copy()
Expand Down