(t *testing.T)
| 297 | } |
| 298 | |
| 299 | func TestTableMetadata_DropColumn(t *testing.T) { |
| 300 | metadata := &storepb.DatabaseSchemaMetadata{ |
| 301 | Name: "testdb", |
| 302 | Schemas: []*storepb.SchemaMetadata{ |
| 303 | { |
| 304 | Name: "public", |
| 305 | Tables: []*storepb.TableMetadata{ |
| 306 | { |
| 307 | Name: "users", |
| 308 | Columns: []*storepb.ColumnMetadata{ |
| 309 | {Name: "id", Type: "int"}, |
| 310 | {Name: "email", Type: "varchar"}, |
| 311 | {Name: "name", Type: "varchar"}, |
| 312 | }, |
| 313 | }, |
| 314 | }, |
| 315 | }, |
| 316 | }, |
| 317 | } |
| 318 | |
| 319 | schema := NewDatabaseMetadata(metadata, nil, nil, storepb.Engine_POSTGRES, true) |
| 320 | schemaMeta := schema.GetSchemaMetadata("public") |
| 321 | tableMeta := schemaMeta.GetTable("users") |
| 322 | |
| 323 | // Drop column |
| 324 | err := tableMeta.DropColumn("email") |
| 325 | |
| 326 | require.Nil(t, err) |
| 327 | |
| 328 | // Verify column is gone |
| 329 | retrieved := tableMeta.GetColumn("email") |
| 330 | require.Nil(t, retrieved) |
| 331 | |
| 332 | // Verify other columns still exist |
| 333 | require.NotNil(t, tableMeta.GetColumn("id")) |
| 334 | require.NotNil(t, tableMeta.GetColumn("name")) |
| 335 | } |
| 336 | |
| 337 | func TestTableMetadata_DropColumn_NotExists(t *testing.T) { |
| 338 | metadata := &storepb.DatabaseSchemaMetadata{ |
nothing calls this directly
no test coverage detected