User:
  connection: doctrine
  tableName: user
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    email:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    password:
      type: string(64)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    active:
      type: boolean
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
      default: 0
    activation_hash:
      type: string(64)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    account_type:
      type: string(16)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
      default: free
    max_sources:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
      default: 0
    created_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    last_login_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    new_feedback_email_type:
      type: enum(6)
      fixed: false
      unsigned: false
      values:
        - none
        - daily
        - weekly
      primary: false
      notnull: true
      default: weekly
      autoincrement: false
    last_new_feedback_email_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    last_payment_received:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    password_reset_hash:
      type: string(64)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    password_reset_expiry:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    last_export_download_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    max_export_rows:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
      default: 0
    paypal_account_email:
      type: string(256)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_payment_reference:
      type: string(256)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_upgrade_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_last_payment_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
UserDowngraded:
  connection: doctrine
  tableName: user_downgraded
  columns:
    user_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    email:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    paypal_account_email:
      type: string(256)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_payment_reference:
      type: string(256)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_upgrade_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    paypal_last_payment_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    downgrade_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
Product:
  connection: doctrine
  tableName: product
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    name:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    user_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    User:
      local: user_id
      foreign: id
Source:
  connection: doctrine
  tableName: source
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    name:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    provider:
      type: enum(8)
      fixed: false
      unsigned: false
      values:
        - itunes
        - play
        - twitter
        - facebook
        - email
      primary: false
      notnull: true
      autoincrement: false
    provider_config:
      type: string
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    rating:
      type: decimal
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    icon_url:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    disabled:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 0
      autoincrement: false
    allow_updates:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 1
      autoincrement: false
UserSource:
  connection: doctrine
  tableName: user_source
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    name:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    user_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    source_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    product_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    mark_read:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 0
      autoincrement: false
    disabled:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 0
      autoincrement: false
  relations:
    User:
      local: user_id
      foreign: id
    Source:
      local: source_id
      foreign: id
    Product:
      local: product_id
      foreign: id
Feedback:
  connection: doctrine
  tableName: feedback
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    source_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    title:
      type: string
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    content:
      type: string
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    name:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    rating:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      default: null
      autoincrement: false
    is_read:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 1
      autoincrement: false
    version:
      type: string(10)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    device_type:
      type: string(64)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    submitted_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    retrieved_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    added_source_refresh_run_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Source:
      local: source_id
      foreign: id
    SourceRefreshRun:
      local: added_source_refresh_run_id
      foreign: id
SourceRefreshRun:
  connection: doctrine
  tableName: source_refresh_run
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    source_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    user_initiated_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    requested_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    start_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    last_activity_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    end_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    requested_priority:
      type: integer(1)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
      default: 0
    completed_successfully:
      type: boolean
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      default: 0
      autoincrement: false
  relations:
    Source:
      local: source_id
      foreign: id
    User:
      local: user_initiated_id
      foreign: id
Tag:
  connection: doctrine
  tableName: tag
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    name:
      type: string(64)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    user_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
  relations:
    User:
      local: user_id
      foreign: id
FeedbackTag:
  connection: doctrine
  tableName: feedback_tag
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    feedback_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    tag_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Feedback:
      local: feedback_id
      foreign: id
    Tag:
      local: tag_id
      foreign: id
Log:
  connection: doctrine
  tableName: log
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    user_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    source_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    created_date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    event_type:
      type: string(128)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    event_details:
      type: string(256)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false