create_database_with_data

in spanner/spec/tagging_samples_spec.rb [18:64]


  def create_database_with_data
    statements = [
      "CREATE TABLE Singers (
        SingerId     INT64 NOT NULL,
        FirstName    STRING(1024),
        LastName     STRING(1024),
        SingerInfo   BYTES(MAX)
      ) PRIMARY KEY (SingerId)",

      "CREATE TABLE Albums (
        SingerId     INT64 NOT NULL,
        AlbumId      INT64 NOT NULL,
        AlbumTitle   STRING(MAX),
        MarketingBudget INT64
      ) PRIMARY KEY (SingerId, AlbumId),
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE",

      "CREATE TABLE Venues (
        VenueId         INT64 NOT NULL,
        VenueName       STRING(100),
        VenueInfo       BYTES(MAX),
        Capacity        INT64,
        OutdoorVenue    BOOL,
      ) PRIMARY KEY (VenueId)"
    ]

    @test_database = create_test_database @database_id, statements: statements

    client = @spanner.client @instance_id, @database_id
    client.commit do |c|
      c.insert "Singers", [
        { SingerId: 1, FirstName: "Marc", LastName: "Richards" },
      ]
      c.insert "Albums", [
        { SingerId: 1, AlbumId: 1, AlbumTitle: "Total Junk", MarketingBudget: 10_000 },
      ]
      c.insert "Venues", [
        {
          VenueId: 1, VenueName: "Venue 1", VenueInfo: StringIO.new("Hello World 1"),
          Capacity: 1_600, OutdoorVenue: true
        }
      ]
    end

    @test_databas
  end