/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('monitoring_leads')->setCustomRepositoryClass('MauticPlugin\\MauticSocialBundle\\Entity\\LeadRepository'); $builder->createManyToOne('monitor', 'Monitoring')->isPrimaryKey()->addJoinColumn('monitor_id', 'id', false, false, 'CASCADE')->build(); $builder->addLead(false, 'CASCADE', true); $builder->addNamedField('dateAdded', 'datetime', 'date_added'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('point_lead_action_log')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\LeadPointLogRepository'); $builder->createManyToOne('point', 'Point')->isPrimaryKey()->addJoinColumn('point_id', 'id', true, false, 'CASCADE')->inversedBy('log')->build(); $builder->addLead(false, 'CASCADE', true); $builder->addIpAddress(true); $builder->createField('dateFired', 'datetime')->columnName('date_fired')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('companies_leads')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\CompanyLeadRepository'); $builder->createManyToOne('company', 'Company')->isPrimaryKey()->inversedBy('leads')->addJoinColumn('company_id', 'id', false, false, 'CASCADE')->build(); $builder->addLead(false, 'CASCADE', true); $builder->addDateAdded(); $builder->createField('manuallyRemoved', 'boolean')->columnName('manually_removed')->build(); $builder->createField('manuallyAdded', 'boolean')->columnName('manually_added')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_notes')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadNoteRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'notes'); $builder->addField('text', 'text'); $builder->createField('type', 'string')->length(50)->nullable()->build(); $builder->createField('dateTime', 'datetime')->columnName('date_time')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_frequencyrules')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\FrequencyRuleRepository')->addIndex(['channel'], 'channel_frequency'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'frequencyRules'); $builder->addDateAdded(); $builder->addNamedField('frequencyNumber', 'smallint', 'frequency_number'); $builder->createField('frequencyTime', 'string')->columnName('frequency_time')->length(25)->build(); $builder->createField('channel', 'string')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_stages_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\StagesChangeLogRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'stageChangeLog'); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->createManyToOne('stage', 'Mautic\\StageBundle\\Entity\\Stage')->inversedBy('stageChangeLog')->addJoinColumn('stage_id', 'id', true, false, 'CASCADE')->build(); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_donotcontact')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\DoNotContactRepository')->addIndex(['reason'], 'dnc_reason_search'); $builder->addId(); $builder->addLead(true, 'CASCADE', false, 'doNotContact'); $builder->addDateAdded(); $builder->createField('reason', 'smallint')->build(); $builder->createField('channel', 'string')->build(); $builder->addNamedField('channelId', 'integer', 'channel_id', true); $builder->createField('comments', 'text')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_companies_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\CompanyChangeLogRepository')->addIndex(['date_added'], 'company_date_added'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'companyChangeLog'); $builder->createField('type', 'text')->length(50)->build(); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->createField('company', 'integer')->columnName('company_id')->build(); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_points_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\PointsChangeLogRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'pointsChangeLog'); $builder->addIpAddress(); $builder->createField('type', 'text')->length(50)->build(); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->addField('delta', 'integer'); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('form_submissions')->setCustomRepositoryClass('Mautic\\FormBundle\\Entity\\SubmissionRepository')->addIndex(['tracking_id'], 'form_submission_tracking_search')->addIndex(['date_submitted'], 'form_date_submitted'); $builder->addId(); $builder->createManyToOne('form', 'Form')->inversedBy('submissions')->addJoinColumn('form_id', 'id', false, false, 'CASCADE')->build(); $builder->addIpAddress(); $builder->addLead(true, 'SET NULL'); $builder->createField('trackingId', 'string')->columnName('tracking_id')->nullable()->build(); $builder->createField('dateSubmitted', 'datetime')->columnName('date_submitted')->build(); $builder->addField('referer', 'text'); $builder->createManyToOne('page', 'Mautic\\PageBundle\\Entity\\Page')->addJoinColumn('page_id', 'id', true, false, 'SET NULL')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('email_donotemail')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\NotificationRepository')->addIndex(array('address'), 'dnc_search'); $builder->addId(); $builder->createManyToOne('email', 'Email')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build(); $builder->createField('emailAddress', 'string')->columnName('address')->build(); $builder->addLead(true, 'CASCADE', false, 'doNotEmail'); $builder->addDateAdded(); $builder->addField('unsubscribed', 'boolean'); $builder->addField('bounced', 'boolean'); $builder->addNullableField('manual', 'boolean'); $builder->createField('comments', 'text')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('dynamic_content_stats')->setCustomRepositoryClass('Mautic\\DynamicContentBundle\\Entity\\StatRepository')->addIndex(['dynamic_content_id', 'lead_id'], 'stat_dynamic_content_search')->addIndex(['source', 'source_id'], 'stat_dynamic_content_source_search'); $builder->addId(); $builder->createManyToOne('dynamicContent', 'DynamicContent')->inversedBy('stats')->addJoinColumn('dynamic_content_id', 'id', true, false, 'SET NULL')->build(); $builder->addLead(true, 'SET NULL'); $builder->createField('dateSent', 'datetime')->columnName('date_sent')->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->createField('tokens', 'array')->nullable()->build(); $builder->addNullableField('sentCount', 'integer', 'sent_count'); $builder->addNullableField('lastSent', 'datetime', 'last_sent'); $builder->addNullableField('sentDetails', 'array', 'sent_details'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('campaign_lead_event_log')->setCustomRepositoryClass('Mautic\\CampaignBundle\\Entity\\LeadEventLogRepository')->addIndex(array('is_scheduled'), 'event_upcoming_search'); $builder->createManyToOne('event', 'Event')->isPrimaryKey()->inversedBy('log')->addJoinColumn('event_id', 'id', false, false, 'CASCADE')->build(); $builder->addLead(false, 'CASCADE', true); $builder->createManyToOne('campaign', 'Campaign')->addJoinColumn('campaign_id', 'id')->build(); $builder->addIpAddress(true); $builder->createField('dateTriggered', 'datetime')->columnName('date_triggered')->nullable()->build(); $builder->createField('isScheduled', 'boolean')->columnName('is_scheduled')->build(); $builder->createField('triggerDate', 'datetime')->columnName('trigger_date')->nullable()->build(); $builder->createField('systemTriggered', 'boolean')->columnName('system_triggered')->build(); $builder->createField('metadata', 'array')->nullable()->build(); $builder->addNullableField('nonActionPathTaken', 'boolean', 'non_action_path_taken'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('sms_message_stats')->setCustomRepositoryClass('Mautic\\SmsBundle\\Entity\\StatRepository')->addIndex(['sms_id', 'lead_id'], 'stat_sms_search')->addIndex(['tracking_hash'], 'stat_sms_hash_search')->addIndex(['source', 'source_id'], 'stat_sms_source_search'); $builder->addId(); $builder->createManyToOne('sms', 'Sms')->inversedBy('stats')->addJoinColumn('sms_id', 'id', true, false, 'SET NULL')->build(); $builder->addLead(true, 'SET NULL'); $builder->createManyToOne('list', 'Mautic\\LeadBundle\\Entity\\LeadList')->addJoinColumn('list_id', 'id', true, false, 'SET NULL')->build(); $builder->addIpAddress(true); $builder->createField('dateSent', 'datetime')->columnName('date_sent')->build(); $builder->createField('trackingHash', 'string')->columnName('tracking_hash')->nullable()->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->createField('tokens', 'array')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('asset_downloads')->setCustomRepositoryClass('Mautic\\AssetBundle\\Entity\\DownloadRepository')->addIndex(['tracking_id'], 'download_tracking_search')->addIndex(['source', 'source_id'], 'download_source_search')->addIndex(['date_download'], 'asset_date_download'); $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build(); $builder->createField('dateDownload', 'datetime')->columnName('date_download')->build(); $builder->createManyToOne('asset', 'Asset')->addJoinColumn('asset_id', 'id', true, false, 'CASCADE')->build(); $builder->addIpAddress(); $builder->addLead(true, 'SET NULL'); $builder->addField('code', 'integer'); $builder->createField('referer', 'string')->nullable()->build(); $builder->createField('trackingId', 'string')->columnName('tracking_id')->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->createManyToOne('email', 'Mautic\\EmailBundle\\Entity\\Email')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_devices')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadDeviceRepository')->addIndex(['date_added'], 'date_added_search')->addIndex(['device'], 'device_search')->addIndex(['device_os_name'], 'device_os_name_search')->addIndex(['device_os_shortname'], 'device_os_shortname_search')->addIndex(['device_os_version'], 'device_os_version_search')->addIndex(['device_os_platform'], 'device_os_platform_search')->addIndex(['device_brand'], 'device_brand_search')->addIndex(['device_model'], 'device_model_search'); $builder->addId(); $builder->addLead(false, 'CASCADE'); $builder->addDateAdded(); $builder->createField('clientInfo', 'array')->columnName('client_info')->nullable()->build(); $builder->addNullableField('device', 'string'); $builder->createField('deviceOsName', 'string')->columnName('device_os_name')->nullable()->build(); $builder->createField('deviceOsShortName', 'string')->columnName('device_os_shortname')->nullable()->build(); $builder->createField('deviceOsVersion', 'string')->columnName('device_os_version')->nullable()->build(); $builder->createField('deviceOsPlatform', 'string')->columnName('device_os_platform')->nullable()->build(); $builder->createField('deviceBrand', 'string')->columnName('device_brand')->nullable()->build(); $builder->createField('deviceModel', 'string')->columnName('device_model')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_utmtags')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\UtmTagRepository'); $builder->addId(); $builder->addDateAdded(); $builder->addLead(false, 'CASCADE', false, 'utmtags'); $builder->addNullableField('query', 'array'); $builder->addNullableField('referer', 'string'); $builder->addNullableField('remoteHost', 'string', 'remote_host'); $builder->addNullableField('url', 'string'); $builder->addNullableField('userAgent', 'text', 'user_agent'); $builder->addNullableField('utmCampaign', 'string', 'utm_campaign'); $builder->addNullableField('utmContent', 'string', 'utm_content'); $builder->addNullableField('utmMedium', 'string', 'utm_medium'); $builder->addNullableField('utmSource', 'string', 'utm_source'); $builder->addNullableField('utmTerm', 'string', 'utm_term'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('push_notification_stats')->setCustomRepositoryClass('Mautic\\NotificationBundle\\Entity\\StatRepository')->addIndex(['notification_id', 'lead_id'], 'stat_notification_search')->addIndex(['is_clicked'], 'stat_notification_clicked_search')->addIndex(['tracking_hash'], 'stat_notification_hash_search')->addIndex(['source', 'source_id'], 'stat_notification_source_search'); $builder->addId(); $builder->createManyToOne('notification', 'Notification')->inversedBy('stats')->addJoinColumn('notification_id', 'id', true, false, 'SET NULL')->build(); $builder->addLead(true, 'SET NULL'); $builder->createManyToOne('list', 'Mautic\\LeadBundle\\Entity\\LeadList')->addJoinColumn('list_id', 'id', true, false, 'SET NULL')->build(); $builder->addIpAddress(true); $builder->createField('dateSent', 'datetime')->columnName('date_sent')->build(); $builder->createField('isClicked', 'boolean')->columnName('is_clicked')->build(); $builder->createField('dateClicked', 'datetime')->columnName('date_clicked')->nullable()->build(); $builder->createField('trackingHash', 'string')->columnName('tracking_hash')->nullable()->build(); $builder->createField('retryCount', 'integer')->columnName('retry_count')->nullable()->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->createField('tokens', 'array')->nullable()->build(); $builder->addNullableField('clickCount', 'integer', 'click_count'); $builder->addNullableField('lastClicked', 'datetime', 'last_clicked'); $builder->addNullableField('clickDetails', 'array', 'click_details'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('page_hits')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\HitRepository')->addIndex(array('ip_id'), 'page_hit_ip_search')->addIndex(array('tracking_id'), 'page_hit_tracking_search')->addIndex(array('code'), 'page_hit_code_search')->addIndex(array('source', 'source_id'), 'page_hit_source_search'); $builder->addId(); $builder->createField('dateHit', 'datetime')->columnName('date_hit')->build(); $builder->createField('dateLeft', 'datetime')->columnName('date_left')->nullable()->build(); $builder->createManyToOne('page', 'Page')->addJoinColumn('page_id', 'id', true, false, 'SET NULL')->build(); $builder->createManyToOne('redirect', 'Redirect')->addJoinColumn('redirect_id', 'id', true, false, 'SET NULL')->build(); $builder->createManyToOne('email', 'Mautic\\EmailBundle\\Entity\\Email')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build(); $builder->addLead(true, 'SET NULL'); $builder->addIpAddress(); $builder->createField('country', 'string')->nullable()->build(); $builder->createField('region', 'string')->nullable()->build(); $builder->createField('city', 'string')->nullable()->build(); $builder->createField('isp', 'string')->nullable()->build(); $builder->createField('organization', 'string')->nullable()->build(); $builder->addField('code', 'integer'); $builder->createField('referer', 'text')->nullable()->build(); $builder->createField('url', 'text')->nullable()->build(); $builder->createField('urlTitle', 'string')->columnName('url_title')->nullable()->build(); $builder->createField('userAgent', 'text')->columnName('user_agent')->nullable()->build(); $builder->createField('remoteHost', 'string')->columnName('remote_host')->nullable()->build(); $builder->createField('pageLanguage', 'string')->columnName('page_language')->nullable()->build(); $builder->createField('browserLanguages', 'array')->columnName('browser_languages')->nullable()->build(); $builder->createField('trackingId', 'string')->columnName('tracking_id')->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->addNullableField('query', 'array'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('email_stats')->setCustomRepositoryClass('Mautic\\EmailBundle\\Entity\\StatRepository')->addIndex(array('email_id', 'lead_id'), 'stat_email_search')->addIndex(array('is_failed'), 'stat_email_failed_search')->addIndex(array('is_read'), 'stat_email_read_search')->addIndex(array('tracking_hash'), 'stat_email_hash_search')->addIndex(array('source', 'source_id'), 'stat_email_source_search'); $builder->addId(); $builder->createManyToOne('email', 'Email')->inversedBy('stats')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build(); $builder->addLead(true, 'SET NULL'); $builder->createField('emailAddress', 'string')->columnName('email_address')->build(); $builder->createManyToOne('list', 'Mautic\\LeadBundle\\Entity\\LeadList')->addJoinColumn('list_id', 'id', true, false, 'SET NULL')->build(); $builder->addIpAddress(true); $builder->createField('dateSent', 'datetime')->columnName('date_sent')->build(); $builder->createField('isRead', 'boolean')->columnName('is_read')->build(); $builder->createField('isFailed', 'boolean')->columnName('is_failed')->build(); $builder->createField('viewedInBrowser', 'boolean')->columnName('viewed_in_browser')->build(); $builder->createField('dateRead', 'datetime')->columnName('date_read')->nullable()->build(); $builder->createField('trackingHash', 'string')->columnName('tracking_hash')->nullable()->build(); $builder->createField('retryCount', 'integer')->columnName('retry_count')->nullable()->build(); $builder->createField('source', 'string')->nullable()->build(); $builder->createField('sourceId', 'integer')->columnName('source_id')->nullable()->build(); $builder->createField('tokens', 'array')->nullable()->build(); /** * @deprecated 1.2.3 - to be removed in 2.0 */ $builder->addNullableField('copy', 'text'); $builder->createManyToOne('storedCopy', 'Mautic\\EmailBundle\\Entity\\Copy')->addJoinColumn('copy_id', 'id', true, false, 'SET NULL')->build(); $builder->addNullableField('openCount', 'integer', 'open_count'); $builder->addNullableField('lastOpened', 'datetime', 'last_opened'); $builder->addNullableField('openDetails', 'array', 'open_details'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('video_hits')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\VideoHitRepository')->addIndex(['date_hit'], 'video_date_hit')->addIndex(['channel', 'channel_id'], 'video_channel_search')->addIndex(['guid', 'lead_id'], 'video_guid_lead_search'); $builder->addId(); $builder->createField('dateHit', 'datetime')->columnName('date_hit')->build(); $builder->createField('dateLeft', 'datetime')->columnName('date_left')->nullable()->build(); $builder->addLead(true, 'SET NULL'); $builder->addIpAddress(); $builder->createField('country', 'string')->nullable()->build(); $builder->createField('region', 'string')->nullable()->build(); $builder->createField('city', 'string')->nullable()->build(); $builder->createField('isp', 'string')->nullable()->build(); $builder->createField('organization', 'string')->nullable()->build(); $builder->addField('code', 'integer'); $builder->createField('referer', 'text')->nullable()->build(); $builder->createField('url', 'text')->nullable()->build(); $builder->createField('userAgent', 'text')->columnName('user_agent')->nullable()->build(); $builder->createField('remoteHost', 'string')->columnName('remote_host')->nullable()->build(); $builder->createField('guid', 'string')->columnName('guid')->build(); $builder->createField('pageLanguage', 'string')->columnName('page_language')->nullable()->build(); $builder->createField('browserLanguages', 'array')->columnName('browser_languages')->nullable()->build(); $builder->createField('channel', 'string')->nullable()->build(); $builder->createField('channelId', 'integer')->columnName('channel_id')->nullable()->build(); $builder->createField('timeWatched', 'integer')->columnName('time_watched')->nullable()->build(); $builder->createField('duration', 'integer')->columnName('duration')->nullable()->build(); $builder->addNullableField('query', 'array'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('message_queue')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\MessageQueueRepository')->addIndex(['status'], 'message_status_search')->addIndex(['date_sent'], 'message_date_sent')->addIndex(['scheduled_date'], 'message_scheduled_date')->addIndex(['priority'], 'message_priority')->addIndex(['success'], 'message_success')->addIndex(['channel', 'channel_id'], 'message_channel_search'); $builder->addId(); $builder->addField('channel', 'string'); $builder->addNamedField('channelId', 'integer', 'channel_id'); $builder->createManyToOne('event', 'Mautic\\CampaignBundle\\Entity\\Event')->addJoinColumn('event_id', 'id', true, false, 'CASCADE')->build(); $builder->addLead(false, 'CASCADE', false); $builder->createField('priority', 'smallint')->columnName('priority')->build(); $builder->createField('maxAttempts', 'smallint')->columnName('max_attempts')->build(); $builder->createField('attempts', 'smallint')->columnName('attempts')->build(); $builder->createField('success', 'boolean')->columnName('success')->build(); $builder->createField('status', 'string')->columnName('status')->build(); $builder->createField('datePublished', 'datetime')->columnName('date_published')->nullable()->build(); $builder->createField('scheduledDate', 'datetime')->columnName('scheduled_date')->nullable()->build(); $builder->createField('lastAttempt', 'datetime')->columnName('last_attempt')->nullable()->build(); $builder->createField('dateSent', 'datetime')->columnName('date_sent')->nullable()->build(); $builder->createField('options', 'array')->nullable()->build(); }