{
  "version": "5",
  "dialect": "mysql",
  "id": "8ad00a41-d4a4-47be-a837-7192b383941b",
  "prevId": "00000000-0000-0000-0000-000000000000",
  "tables": {
    "audit_logs": {
      "name": "audit_logs",
      "columns": {
        "id": {
          "name": "id",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "action": {
          "name": "action",
          "type": "varchar(60)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "entity": {
          "name": "entity",
          "type": "varchar(60)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "entity_id": {
          "name": "entity_id",
          "type": "varchar(40)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "before": {
          "name": "before",
          "type": "json",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "after": {
          "name": "after",
          "type": "json",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "varchar(400)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {
        "audit_entity_idx": {
          "name": "audit_entity_idx",
          "columns": [
            "entity",
            "entity_id"
          ],
          "isUnique": false
        },
        "audit_user_idx": {
          "name": "audit_user_idx",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        },
        "audit_created_idx": {
          "name": "audit_created_idx",
          "columns": [
            "created_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "audit_logs_user_id_users_id_fk": {
          "name": "audit_logs_user_id_users_id_fk",
          "tableFrom": "audit_logs",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "audit_logs_id": {
          "name": "audit_logs_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "households": {
      "name": "households",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "rt_id": {
          "name": "rt_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "housing_area_id": {
          "name": "housing_area_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "kk_number_enc": {
          "name": "kk_number_enc",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "kk_number_hash": {
          "name": "kk_number_hash",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "head_name": {
          "name": "head_name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "block": {
          "name": "block",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "house_number": {
          "name": "house_number",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "households_kk_uq": {
          "name": "households_kk_uq",
          "columns": [
            "kk_number_hash",
            "alive"
          ],
          "isUnique": true
        },
        "households_rt_idx": {
          "name": "households_rt_idx",
          "columns": [
            "rt_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "households_rt_id_rts_id_fk": {
          "name": "households_rt_id_rts_id_fk",
          "tableFrom": "households",
          "tableTo": "rts",
          "columnsFrom": [
            "rt_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "households_housing_area_id_housing_areas_id_fk": {
          "name": "households_housing_area_id_housing_areas_id_fk",
          "tableFrom": "households",
          "tableTo": "housing_areas",
          "columnsFrom": [
            "housing_area_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "households_id": {
          "name": "households_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "housing_areas": {
      "name": "housing_areas",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "rt_id": {
          "name": "rt_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "type": {
          "name": "type",
          "type": "enum('perumahan','blok','gang','cluster','lainnya')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'perumahan'"
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "housing_areas_rt_idx": {
          "name": "housing_areas_rt_idx",
          "columns": [
            "rt_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "housing_areas_rt_id_rts_id_fk": {
          "name": "housing_areas_rt_id_rts_id_fk",
          "tableFrom": "housing_areas",
          "tableTo": "rts",
          "columnsFrom": [
            "rt_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "housing_areas_id": {
          "name": "housing_areas_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "login_attempts": {
      "name": "login_attempts",
      "columns": {
        "id": {
          "name": "id",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "identifier": {
          "name": "identifier",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "success": {
          "name": "success",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {
        "login_attempts_ident_idx": {
          "name": "login_attempts_ident_idx",
          "columns": [
            "identifier",
            "created_at"
          ],
          "isUnique": false
        },
        "login_attempts_ip_idx": {
          "name": "login_attempts_ip_idx",
          "columns": [
            "ip",
            "created_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "login_attempts_id": {
          "name": "login_attempts_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "members": {
      "name": "members",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "resident_id": {
          "name": "resident_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "member_number": {
          "name": "member_number",
          "type": "varchar(30)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "joined_at": {
          "name": "joined_at",
          "type": "date",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "coordinator_user_id": {
          "name": "coordinator_user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "collection_method": {
          "name": "collection_method",
          "type": "enum('antar_sendiri','dijemput','titik_kumpul')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'antar_sendiri'"
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "is_demo": {
          "name": "is_demo",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "members_resident_uq": {
          "name": "members_resident_uq",
          "columns": [
            "resident_id",
            "alive"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {
        "members_resident_id_residents_id_fk": {
          "name": "members_resident_id_residents_id_fk",
          "tableFrom": "members",
          "tableTo": "residents",
          "columnsFrom": [
            "resident_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "members_coordinator_user_id_users_id_fk": {
          "name": "members_coordinator_user_id_users_id_fk",
          "tableFrom": "members",
          "tableTo": "users",
          "columnsFrom": [
            "coordinator_user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "members_id": {
          "name": "members_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "members_member_number_unique": {
          "name": "members_member_number_unique",
          "columns": [
            "member_number"
          ]
        }
      },
      "checkConstraint": {}
    },
    "permissions": {
      "name": "permissions",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "code": {
          "name": "code",
          "type": "varchar(60)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "group_name": {
          "name": "group_name",
          "type": "varchar(40)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "permissions_id": {
          "name": "permissions_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "permissions_code_unique": {
          "name": "permissions_code_unique",
          "columns": [
            "code"
          ]
        }
      },
      "checkConstraint": {}
    },
    "regions": {
      "name": "regions",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "parent_id": {
          "name": "parent_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "level": {
          "name": "level",
          "type": "enum('provinsi','kabupaten','kecamatan','kelurahan')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "code": {
          "name": "code",
          "type": "varchar(30)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {
        "regions_parent_idx": {
          "name": "regions_parent_idx",
          "columns": [
            "parent_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "regions_id": {
          "name": "regions_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "residents": {
      "name": "residents",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "household_id": {
          "name": "household_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "rt_id": {
          "name": "rt_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "housing_area_id": {
          "name": "housing_area_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "nik_enc": {
          "name": "nik_enc",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "nik_hash": {
          "name": "nik_hash",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "nik_last4": {
          "name": "nik_last4",
          "type": "varchar(4)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "full_name": {
          "name": "full_name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "phone_enc": {
          "name": "phone_enc",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "phone_last4": {
          "name": "phone_last4",
          "type": "varchar(4)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "block": {
          "name": "block",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "house_number": {
          "name": "house_number",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "resident_status": {
          "name": "resident_status",
          "type": "enum('tetap','kontrak','kos','lainnya')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'tetap'"
        },
        "photo_url": {
          "name": "photo_url",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "is_demo": {
          "name": "is_demo",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "residents_nik_uq": {
          "name": "residents_nik_uq",
          "columns": [
            "nik_hash",
            "alive"
          ],
          "isUnique": true
        },
        "residents_rt_idx": {
          "name": "residents_rt_idx",
          "columns": [
            "rt_id"
          ],
          "isUnique": false
        },
        "residents_area_idx": {
          "name": "residents_area_idx",
          "columns": [
            "housing_area_id"
          ],
          "isUnique": false
        },
        "residents_name_idx": {
          "name": "residents_name_idx",
          "columns": [
            "full_name"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "residents_household_id_households_id_fk": {
          "name": "residents_household_id_households_id_fk",
          "tableFrom": "residents",
          "tableTo": "households",
          "columnsFrom": [
            "household_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "residents_rt_id_rts_id_fk": {
          "name": "residents_rt_id_rts_id_fk",
          "tableFrom": "residents",
          "tableTo": "rts",
          "columnsFrom": [
            "rt_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "residents_housing_area_id_housing_areas_id_fk": {
          "name": "residents_housing_area_id_housing_areas_id_fk",
          "tableFrom": "residents",
          "tableTo": "housing_areas",
          "columnsFrom": [
            "housing_area_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "residents_id": {
          "name": "residents_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "role_permissions": {
      "name": "role_permissions",
      "columns": {
        "role_id": {
          "name": "role_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "permission_id": {
          "name": "permission_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "role_permissions_role_id_roles_id_fk": {
          "name": "role_permissions_role_id_roles_id_fk",
          "tableFrom": "role_permissions",
          "tableTo": "roles",
          "columnsFrom": [
            "role_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "role_permissions_permission_id_permissions_id_fk": {
          "name": "role_permissions_permission_id_permissions_id_fk",
          "tableFrom": "role_permissions",
          "tableTo": "permissions",
          "columnsFrom": [
            "permission_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "role_permissions_role_id_permission_id_pk": {
          "name": "role_permissions_role_id_permission_id_pk",
          "columns": [
            "role_id",
            "permission_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "roles": {
      "name": "roles",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "code": {
          "name": "code",
          "type": "varchar(40)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "scope": {
          "name": "scope",
          "type": "varchar(10)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'self'"
        },
        "is_system": {
          "name": "is_system",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "roles_id": {
          "name": "roles_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "roles_code_unique": {
          "name": "roles_code_unique",
          "columns": [
            "code"
          ]
        }
      },
      "checkConstraint": {}
    },
    "rts": {
      "name": "rts",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "rw_id": {
          "name": "rw_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "number": {
          "name": "number",
          "type": "varchar(5)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "leader_name": {
          "name": "leader_name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "rts_rw_number_uq": {
          "name": "rts_rw_number_uq",
          "columns": [
            "rw_id",
            "number",
            "alive"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {
        "rts_rw_id_rws_id_fk": {
          "name": "rts_rw_id_rws_id_fk",
          "tableFrom": "rts",
          "tableTo": "rws",
          "columnsFrom": [
            "rw_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "rts_id": {
          "name": "rts_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "rws": {
      "name": "rws",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "region_id": {
          "name": "region_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "number": {
          "name": "number",
          "type": "varchar(5)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {},
      "foreignKeys": {
        "rws_region_id_regions_id_fk": {
          "name": "rws_region_id_regions_id_fk",
          "tableFrom": "rws",
          "tableTo": "regions",
          "columnsFrom": [
            "region_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "rws_id": {
          "name": "rws_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "sessions": {
      "name": "sessions",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "varchar(400)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {
        "sessions_user_idx": {
          "name": "sessions_user_idx",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "sessions_user_id_users_id_fk": {
          "name": "sessions_user_id_users_id_fk",
          "tableFrom": "sessions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "sessions_id": {
          "name": "sessions_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "settings": {
      "name": "settings",
      "columns": {
        "key": {
          "name": "key",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "value": {
          "name": "value",
          "type": "json",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "updated_by": {
          "name": "updated_by",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "settings_updated_by_users_id_fk": {
          "name": "settings_updated_by_users_id_fk",
          "tableFrom": "settings",
          "tableTo": "users",
          "columnsFrom": [
            "updated_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "settings_key": {
          "name": "settings_key",
          "columns": [
            "key"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "user_areas": {
      "name": "user_areas",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "housing_area_id": {
          "name": "housing_area_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_areas_user_id_users_id_fk": {
          "name": "user_areas_user_id_users_id_fk",
          "tableFrom": "user_areas",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_areas_housing_area_id_housing_areas_id_fk": {
          "name": "user_areas_housing_area_id_housing_areas_id_fk",
          "tableFrom": "user_areas",
          "tableTo": "housing_areas",
          "columnsFrom": [
            "housing_area_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "user_areas_user_id_housing_area_id_pk": {
          "name": "user_areas_user_id_housing_area_id_pk",
          "columns": [
            "user_id",
            "housing_area_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "users": {
      "name": "users",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "username": {
          "name": "username",
          "type": "varchar(60)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "password_hash": {
          "name": "password_hash",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "role_id": {
          "name": "role_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "rw_id": {
          "name": "rw_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "rt_id": {
          "name": "rt_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "resident_id": {
          "name": "resident_id",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "must_change_password": {
          "name": "must_change_password",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "failed_login_count": {
          "name": "failed_login_count",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "locked_until": {
          "name": "locked_until",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_login_at": {
          "name": "last_login_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_login_ip": {
          "name": "last_login_ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "users_username_uq": {
          "name": "users_username_uq",
          "columns": [
            "username",
            "alive"
          ],
          "isUnique": true
        },
        "users_email_uq": {
          "name": "users_email_uq",
          "columns": [
            "email",
            "alive"
          ],
          "isUnique": true
        },
        "users_role_idx": {
          "name": "users_role_idx",
          "columns": [
            "role_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "users_role_id_roles_id_fk": {
          "name": "users_role_id_roles_id_fk",
          "tableFrom": "users",
          "tableTo": "roles",
          "columnsFrom": [
            "role_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "users_rw_id_rws_id_fk": {
          "name": "users_rw_id_rws_id_fk",
          "tableFrom": "users",
          "tableTo": "rws",
          "columnsFrom": [
            "rw_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "users_rt_id_rts_id_fk": {
          "name": "users_rt_id_rts_id_fk",
          "tableFrom": "users",
          "tableTo": "rts",
          "columnsFrom": [
            "rt_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "users_id": {
          "name": "users_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "waste_categories": {
      "name": "waste_categories",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "code": {
          "name": "code",
          "type": "varchar(30)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "group_name": {
          "name": "group_name",
          "type": "enum('anorganik','organik','b3','residu')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'anorganik'"
        },
        "unit": {
          "name": "unit",
          "type": "varchar(10)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'kg'"
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alive": {
          "name": "alive",
          "type": "tinyint",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "generated": {
            "as": "(case when deleted_at is null then 1 else null end)",
            "type": "stored"
          }
        }
      },
      "indexes": {
        "waste_categories_code_uq": {
          "name": "waste_categories_code_uq",
          "columns": [
            "code",
            "alive"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "waste_categories_id": {
          "name": "waste_categories_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "waste_prices": {
      "name": "waste_prices",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "category_id": {
          "name": "category_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "price_per_unit": {
          "name": "price_per_unit",
          "type": "decimal(12,2)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "effective_from": {
          "name": "effective_from",
          "type": "date",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "effective_to": {
          "name": "effective_to",
          "type": "date",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "source": {
          "name": "source",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_by": {
          "name": "created_by",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "datetime(3)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "CURRENT_TIMESTAMP(3)"
        }
      },
      "indexes": {
        "waste_prices_cat_from_idx": {
          "name": "waste_prices_cat_from_idx",
          "columns": [
            "category_id",
            "effective_from"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "waste_prices_category_id_waste_categories_id_fk": {
          "name": "waste_prices_category_id_waste_categories_id_fk",
          "tableFrom": "waste_prices",
          "tableTo": "waste_categories",
          "columnsFrom": [
            "category_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "waste_prices_created_by_users_id_fk": {
          "name": "waste_prices_created_by_users_id_fk",
          "tableFrom": "waste_prices",
          "tableTo": "users",
          "columnsFrom": [
            "created_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "waste_prices_id": {
          "name": "waste_prices_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    }
  },
  "views": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "tables": {},
    "indexes": {}
  }
}