Skip to content

Commit db9cdab

Browse files
RobinRHjsimonweb
authored andcommitted
Add sample to delete data. (#1872)
* Update snippets.py * Update snippets_test.py
1 parent da2c559 commit db9cdab

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

spanner/cloud-client/snippets.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ def insert_data(instance_id, database_id):
9393
# [END spanner_insert_data]
9494

9595

96+
# [START spanner_delete_data]
97+
def delete_data(instance_id, database_id):
98+
"""Deletes sample data from the given database.
99+
100+
The database, table, and data must already exist and can be created using
101+
`create_database` and `insert_data`.
102+
"""
103+
spanner_client = spanner.Client()
104+
instance = spanner_client.instance(instance_id)
105+
database = instance.database(database_id)
106+
107+
singers_to_delete = spanner.KeySet(
108+
keys=[[1], [2], [3], [4], [5]])
109+
albums_to_delete = spanner.KeySet(
110+
keys=[[1, 1], [1, 2], [2, 1], [2, 2], [2, 3]])
111+
112+
with database.batch() as batch:
113+
batch.delete('Albums', albums_to_delete)
114+
batch.delete('Singers', singers_to_delete)
115+
116+
print('Deleted data.')
117+
# [END spanner_delete_data]
118+
119+
96120
# [START spanner_query_data]
97121
def query_data(instance_id, database_id):
98122
"""Queries sample data from the database using SQL."""
@@ -1027,6 +1051,7 @@ def delete_data_with_partitioned_dml(instance_id, database_id):
10271051

10281052
subparsers = parser.add_subparsers(dest='command')
10291053
subparsers.add_parser('create_database', help=create_database.__doc__)
1054+
subparsers.add_parser('delete_data', help=delete_data.__doc__)
10301055
subparsers.add_parser('insert_data', help=insert_data.__doc__)
10311056
subparsers.add_parser('query_data', help=query_data.__doc__)
10321057
subparsers.add_parser('read_data', help=read_data.__doc__)
@@ -1100,6 +1125,8 @@ def delete_data_with_partitioned_dml(instance_id, database_id):
11001125
create_database(args.instance_id, args.database_id)
11011126
elif args.command == 'insert_data':
11021127
insert_data(args.instance_id, args.database_id)
1128+
elif args.command == 'delete_data':
1129+
delete_data(args.instance_id, args.database_id)
11031130
elif args.command == 'query_data':
11041131
query_data(args.instance_id, args.database_id)
11051132
elif args.command == 'read_data':

spanner/cloud-client/snippets_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ def test_insert_data(capsys):
5959
assert 'Inserted data' in out
6060

6161

62+
def test_delete_data(capsys):
63+
snippets.delete_data(INSTANCE_ID, DATABASE_ID)
64+
snippets.insert_data(INSTANCE_ID, DATABASE_ID)
65+
out, _ = capsys.readouterr()
66+
assert 'Deleted data' in out
67+
68+
6269
def test_query_data(capsys):
6370
snippets.query_data(INSTANCE_ID, DATABASE_ID)
6471
out, _ = capsys.readouterr()

0 commit comments

Comments
 (0)