in spanner/spec/spanner_postgresql_helper.rb [30:60]
def create_spangres_singers_table
capture do
db_admin_client = Google::Cloud::Spanner::Admin::Database.database_admin project: @project_id
db_path = db_admin_client.database_path project: @project_id,
instance: @instance.instance_id,
database: @database_id
create_table_query = <<~QUERY
CREATE TABLE Singers (
SingerId bigint NOT NULL PRIMARY KEY,
FirstName varchar(1024),
LastName varchar(1024),
Rating numeric,
SingerInfo bytea,
FullName character varying(2048) GENERATED ALWAYS AS (FirstName || ' ' || LastName) STORED
);
QUERY
job = db_admin_client.update_database_ddl database: db_path,
statements: [create_table_query]
job.wait_until_done!
if job.error?
puts "Error while creating table. Code: #{job.error.code}. Message: #{job.error.message}"
raise GRPC::BadStatus.new(job.error.code, job.error.message)
end
end
end