[
  {
    "type": "alter_table",
    "description": "Add active column to bsBins for hiding emptied bins",
    "database": "{{store}}",
    "check_query": "SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'bsBins' AND COLUMN_NAME = 'active' LIMIT 1",
    "sql": "ALTER TABLE bsBins ADD COLUMN active TINYINT(1) NOT NULL DEFAULT 1 AFTER deleted"
  },
  {
    "type": "alter_table",
    "description": "Add hasBeenUsed column to track if bin has had any actions",
    "database": "{{store}}",
    "check_query": "SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'bsBins' AND COLUMN_NAME = 'hasBeenUsed' LIMIT 1",
    "sql": "ALTER TABLE bsBins ADD COLUMN hasBeenUsed TINYINT(1) NOT NULL DEFAULT 0 AFTER active"
  },
  {
    "type": "alter_table",
    "description": "Add hiddenAt timestamp to track when bin was hidden",
    "database": "{{store}}",
    "check_query": "SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'bsBins' AND COLUMN_NAME = 'hiddenAt' LIMIT 1",
    "sql": "ALTER TABLE bsBins ADD COLUMN hiddenAt TIMESTAMP NULL AFTER hasBeenUsed"
  },
  {
    "type": "alter_table",
    "description": "Add index on active column for faster filtering",
    "database": "{{store}}",
    "check_query": "SELECT INDEX_NAME FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'bsBins' AND INDEX_NAME = 'idx_active' LIMIT 1",
    "sql": "ALTER TABLE bsBins ADD INDEX idx_active (active)"
  },
  {
    "type": "alter_table",
    "description": "Add index on name column for exact match searches",
    "database": "{{store}}",
    "check_query": "SELECT INDEX_NAME FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'bsBins' AND INDEX_NAME = 'idx_name' LIMIT 1",
    "sql": "ALTER TABLE bsBins ADD INDEX idx_name (name)"
  }
]
