Files
Filamenteka/scripts/data-import/clear-dynamo.js
DaX 18110ab159 Major restructure: Remove Confluence, add V2 data structure, organize for dev/prod
- Import real data from PDF (35 Bambu Lab filaments)
- Remove all Confluence integration and dependencies
- Implement new V2 data structure with proper inventory tracking
- Add backwards compatibility for existing data
- Create enhanced UI components (ColorSwatch, InventoryBadge, MaterialBadge)
- Add advanced filtering with quick filters and multi-criteria search
- Organize codebase for dev/prod environments
- Update Lambda functions to support both V1/V2 formats
- Add inventory summary dashboard
- Clean up project structure and documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 01:12:50 +02:00

68 lines
1.7 KiB
JavaScript
Executable File

#!/usr/bin/env node
require('dotenv').config({ path: '.env.local' });
const AWS = require('aws-sdk');
// Configure AWS
AWS.config.update({
region: process.env.AWS_REGION || 'eu-central-1'
});
const dynamodb = new AWS.DynamoDB.DocumentClient();
const TABLE_NAME = process.env.DYNAMODB_TABLE_NAME || 'filamenteka-filaments';
async function clearTable() {
console.log(`Clearing all items from ${TABLE_NAME}...`);
try {
// First, scan to get all items
const scanParams = {
TableName: TABLE_NAME,
ProjectionExpression: 'id'
};
const items = [];
let lastEvaluatedKey = null;
do {
if (lastEvaluatedKey) {
scanParams.ExclusiveStartKey = lastEvaluatedKey;
}
const result = await dynamodb.scan(scanParams).promise();
items.push(...result.Items);
lastEvaluatedKey = result.LastEvaluatedKey;
} while (lastEvaluatedKey);
console.log(`Found ${items.length} items to delete`);
// Delete in batches of 25
const chunks = [];
for (let i = 0; i < items.length; i += 25) {
chunks.push(items.slice(i, i + 25));
}
for (const chunk of chunks) {
const params = {
RequestItems: {
[TABLE_NAME]: chunk.map(item => ({
DeleteRequest: { Key: { id: item.id } }
}))
}
};
await dynamodb.batchWrite(params).promise();
console.log(`Deleted ${chunk.length} items`);
}
console.log('Table cleared successfully!');
} catch (error) {
console.error('Error clearing table:', error);
process.exit(1);
}
}
// Run if called directly
if (require.main === module) {
clearTable();
}