{
  "formatVersion": 1,
  "database": {
    "version": 1,
    "identityHash": "219d6bf3f5b796b3ee87fce8d4b5a41d",
    "entities": [
      {
        "tableName": "period_records",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `startDate` INTEGER NOT NULL, `endDate` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `source` TEXT NOT NULL, `isConfirmed` INTEGER NOT NULL)",
        "fields": [
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "startDate",
            "columnName": "startDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "endDate",
            "columnName": "endDate",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "createdAt",
            "columnName": "createdAt",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "updatedAt",
            "columnName": "updatedAt",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "source",
            "columnName": "source",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "isConfirmed",
            "columnName": "isConfirmed",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "autoGenerate": true,
          "columnNames": [
            "id"
          ]
        },
        "indices": [
          {
            "name": "index_period_records_startDate",
            "unique": true,
            "columnNames": [
              "startDate"
            ],
            "orders": [],
            "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_period_records_startDate` ON `${TABLE_NAME}` (`startDate`)"
          }
        ]
      },
      {
        "tableName": "spotting_records",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `date` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL)",
        "fields": [
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "date",
            "columnName": "date",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "createdAt",
            "columnName": "createdAt",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "autoGenerate": true,
          "columnNames": [
            "id"
          ]
        },
        "indices": [
          {
            "name": "index_spotting_records_date",
            "unique": true,
            "columnNames": [
              "date"
            ],
            "orders": [],
            "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_spotting_records_date` ON `${TABLE_NAME}` (`date`)"
          }
        ]
      },
      {
        "tableName": "prediction_records",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `generatedAt` INTEGER NOT NULL, `basedOnLastConfirmedPeriodId` INTEGER, `predictedStartDate` INTEGER NOT NULL, `predictedWindowStart` INTEGER NOT NULL, `predictedWindowEnd` INTEGER NOT NULL, `estimatedOvulationDate` INTEGER, `fertileWindowStart` INTEGER, `fertileWindowEnd` INTEGER, `confidenceScore` REAL NOT NULL, `confidenceLabel` TEXT NOT NULL, `modelVersion` TEXT NOT NULL, `actualStartDate` INTEGER, `absoluteErrorDays` INTEGER)",
        "fields": [
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "generatedAt",
            "columnName": "generatedAt",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "basedOnLastConfirmedPeriodId",
            "columnName": "basedOnLastConfirmedPeriodId",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "predictedStartDate",
            "columnName": "predictedStartDate",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "predictedWindowStart",
            "columnName": "predictedWindowStart",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "predictedWindowEnd",
            "columnName": "predictedWindowEnd",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "estimatedOvulationDate",
            "columnName": "estimatedOvulationDate",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "fertileWindowStart",
            "columnName": "fertileWindowStart",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "fertileWindowEnd",
            "columnName": "fertileWindowEnd",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "confidenceScore",
            "columnName": "confidenceScore",
            "affinity": "REAL",
            "notNull": true
          },
          {
            "fieldPath": "confidenceLabel",
            "columnName": "confidenceLabel",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "modelVersion",
            "columnName": "modelVersion",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "actualStartDate",
            "columnName": "actualStartDate",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "absoluteErrorDays",
            "columnName": "absoluteErrorDays",
            "affinity": "INTEGER"
          }
        ],
        "primaryKey": {
          "autoGenerate": true,
          "columnNames": [
            "id"
          ]
        },
        "indices": [
          {
            "name": "index_prediction_records_generatedAt",
            "unique": false,
            "columnNames": [
              "generatedAt"
            ],
            "orders": [],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_prediction_records_generatedAt` ON `${TABLE_NAME}` (`generatedAt`)"
          },
          {
            "name": "index_prediction_records_actualStartDate",
            "unique": false,
            "columnNames": [
              "actualStartDate"
            ],
            "orders": [],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_prediction_records_actualStartDate` ON `${TABLE_NAME}` (`actualStartDate`)"
          }
        ]
      },
      {
        "tableName": "not_yet_observations",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `date` INTEGER NOT NULL, `predictionId` INTEGER, `createdAt` INTEGER NOT NULL)",
        "fields": [
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "date",
            "columnName": "date",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "predictionId",
            "columnName": "predictionId",
            "affinity": "INTEGER"
          },
          {
            "fieldPath": "createdAt",
            "columnName": "createdAt",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "autoGenerate": true,
          "columnNames": [
            "id"
          ]
        },
        "indices": [
          {
            "name": "index_not_yet_observations_date",
            "unique": true,
            "columnNames": [
              "date"
            ],
            "orders": [],
            "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_not_yet_observations_date` ON `${TABLE_NAME}` (`date`)"
          }
        ]
      }
    ],
    "setupQueries": [
      "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
      "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '219d6bf3f5b796b3ee87fce8d4b5a41d')"
    ]
  }
}