Пример #1
0
 /**
  * @param ClassMetadata $metadata
  */
 public static function loadMetadata(ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('lead_tags')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\TagRepository')->addIndex(array('tag'), 'lead_tag_search');
     $builder->addId();
     $builder->addField('tag', 'string');
 }
Пример #2
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth1_nonces')->setCustomRepositoryClass('Mautic\\ApiBundle\\Entity\\oAuth1\\NonceRepository');
     $builder->createField('nonce', 'string')->isPrimaryKey()->build();
     $builder->addField('timestamp', 'string');
 }
Пример #3
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('companies')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\CompanyRepository');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('owner', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('owner_id', 'id', true, false, 'SET NULL')->build();
 }
Пример #4
0
 /**
  * @param ClassMetadata $builder
  * @param               $entityClass
  */
 protected static function addVariantMetadata(ClassMetadataBuilder $builder, $entityClass)
 {
     $builder->createManyToOne('variantParent', $entityClass)->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id', true, false, 'CASCADE')->build();
     $builder->createOneToMany('variantChildren', $entityClass)->setIndexBy('id')->setOrderBy(['isPublished' => 'DESC'])->mappedBy('variantParent')->build();
     $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build();
     $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build();
 }
Пример #5
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('ip_addresses')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\IpAddressRepository')->addIndex(['ip_address'], 'ip_search');
     $builder->addId();
     $builder->createField('ipAddress', 'string')->columnName('ip_address')->length(45)->build();
     $builder->createField('ipDetails', 'array')->columnName('ip_details')->nullable()->build();
 }
Пример #6
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('push_ids')->setCustomRepositoryClass('Mautic\\NotificationBundle\\Entity\\PushIDRepository');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createField('pushID', 'string')->columnName('push_id')->nullable(false)->build();
     $builder->createManyToOne('lead', 'Mautic\\LeadBundle\\Entity\\Lead')->addJoinColumn('lead_id', 'id', true, false, 'SET NULL')->inversedBy('pushIds')->build();
 }
Пример #7
0
 /**
  * @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');
 }
Пример #8
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('point_triggers')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\TriggerRepository');
     $builder->addIdColumns();
     $builder->addPublishDates();
     $builder->addField('points', 'integer');
     $builder->createField('color', 'string')->length(7)->build();
     $builder->createField('triggerExistingLeads', 'boolean')->columnName('trigger_existing_leads')->build();
     $builder->addCategory();
     $builder->createOneToMany('events', 'TriggerEvent')->setIndexBy('id')->setOrderBy(array('order' => 'ASC'))->mappedBy('trigger')->cascadeAll()->fetchExtraLazy()->build();
 }
Пример #9
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('points')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\PointRepository')->addIndex(array('type'), 'point_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->addPublishDates();
     $builder->addField('delta', 'integer');
     $builder->addField('properties', 'array');
     $builder->createOneToMany('log', 'LeadPointLog')->mappedBy('point')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
     $builder->addCategory();
 }
Пример #10
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('widgets')->setCustomRepositoryClass('Mautic\\DashboardBundle\\Entity\\WidgetRepository');
     $builder->addIdColumns('name', false);
     $builder->addField('type', 'string');
     $builder->addField('width', 'integer');
     $builder->addField('height', 'integer');
     $builder->createField('cacheTimeout', 'integer')->columnName('cache_timeout')->nullable()->build();
     $builder->createField('ordering', 'integer')->nullable()->build();
     $builder->createField('params', 'array')->nullable()->build();
 }
Пример #11
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('monitoring')->setCustomRepositoryClass('MauticPlugin\\MauticSocialBundle\\Entity\\MonitoringRepository')->addLifecycleEvent('cleanMonitorData', 'preUpdate')->addLifecycleEvent('cleanMonitorData', 'prePersist');
     $builder->addCategory();
     $builder->addIdColumns('title');
     $builder->addNullableField('lists', 'array');
     $builder->addNamedField('networkType', 'string', 'network_type', true);
     $builder->addField('revision', 'integer');
     $builder->addNullableField('stats', 'array');
     $builder->addNullableField('properties', 'array');
     $builder->addPublishDates();
 }
Пример #12
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('notifications')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\NotificationRepository')->addIndex(['is_read'], 'notification_read_status')->addIndex(['type'], 'notification_type')->addIndex(['is_read', 'user_id'], 'notification_user_read_status');
     $builder->addId();
     $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', false, false, 'CASCADE')->build();
     $builder->createField('type', 'string')->nullable()->length(25)->build();
     $builder->createField('header', 'string')->nullable()->build();
     $builder->addField('message', 'text');
     $builder->addDateAdded();
     $builder->createField('iconClass', 'string')->columnName('icon_class')->nullable()->build();
     $builder->createField('isRead', 'boolean')->columnName('is_read')->build();
 }
Пример #13
0
 /**
  * @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')->addIndex(['date_added'], 'point_date_added');
     $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();
 }
Пример #14
0
 /**
  * @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();
 }
Пример #15
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setMappedSuperClass();
     $builder->createField('isPublished', 'boolean')->columnName('is_published')->build();
     $builder->addDateAdded(true);
     $builder->createField('createdBy', 'integer')->columnName('created_by')->nullable()->build();
     $builder->createField('createdByUser', 'string')->columnName('created_by_user')->nullable()->build();
     $builder->createField('dateModified', 'datetime')->columnName('date_modified')->nullable()->build();
     $builder->createField('modifiedBy', 'integer')->columnName('modified_by')->nullable()->build();
     $builder->createField('modifiedByUser', 'string')->columnName('modified_by_user')->nullable()->build();
     $builder->createField('checkedOut', 'datetime')->columnName('checked_out')->nullable()->build();
     $builder->createField('checkedOutBy', 'integer')->columnName('checked_out_by')->nullable()->build();
     $builder->createField('checkedOutByUser', 'string')->columnName('checked_out_by_user')->nullable()->build();
 }
Пример #16
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth1_request_tokens')->addIndex(array('token'), 'oauth1_request_token_search');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('consumer', 'Consumer')->addJoinColumn('consumer_id', 'id', false, false, 'CASCADE')->build();
     $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', true, false, 'CASCADE')->build();
     $builder->addField('token', 'string');
     $builder->addField('secret', 'string');
     $builder->createField('expiresAt', 'bigint')->columnName('expires_at')->build();
     $builder->addField('verifier', 'string');
 }
Пример #17
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('plugin_integration_settings')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\IntegrationRepository');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('plugin', 'Plugin')->inversedBy('integrations')->addJoinColumn('plugin_id', 'id', true, false, 'CASCADE')->build();
     $builder->addField('name', 'string');
     $builder->createField('isPublished', 'boolean')->columnName('is_published')->build();
     $builder->createField('supportedFeatures', 'array')->columnName('supported_features')->nullable()->build();
     $builder->createField('apiKeys', 'array')->columnName('api_keys')->build();
     $builder->createField('featureSettings', 'array')->columnName('feature_settings')->nullable()->build();
 }
Пример #18
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth2_authcodes');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('client', 'Client')->addJoinColumn('client_id', 'id', false, false, 'CASCADE')->build();
     $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', false, false, 'CASCADE')->build();
     $builder->createField('token', 'string')->unique()->build();
     $builder->createField('expiresAt', 'bigint')->columnName('expires_at')->nullable()->build();
     $builder->createField('scope', 'string')->nullable()->build();
     $builder->createField('redirectUri', 'text')->columnName('redirect_uri')->build();
 }
Пример #19
0
 /**
  * @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();
 }
Пример #20
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('reports')->setCustomRepositoryClass('Mautic\\ReportBundle\\Entity\\ReportRepository');
     $builder->addIdColumns();
     $builder->addField('system', 'boolean');
     $builder->addField('source', 'string');
     $builder->createField('columns', 'array')->nullable()->build();
     $builder->createField('filters', 'array')->nullable()->build();
     $builder->createField('tableOrder', 'array')->columnName('table_order')->nullable()->build();
     $builder->createField('graphs', 'array')->nullable()->build();
 }
Пример #21
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('page_redirects')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\RedirectRepository');
     $builder->addId();
     $builder->createField('redirectId', 'string')->columnName('redirect_id')->length(25)->build();
     $builder->addField('url', 'text');
     $builder->addField('hits', 'integer');
     $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build();
     $builder->createOneToMany('trackables', 'Trackable')->mappedBy('redirect')->fetchExtraLazy()->build();
     // @deprecated to be removed in 2.0
     $builder->addNamedField('email', 'integer', 'email_id', true);
 }
Пример #22
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('webhooks')->setCustomRepositoryClass('Mautic\\WebhookBundle\\Entity\\WebhookRepository');
     // id columns
     $builder->addIdColumns();
     // categories
     $builder->addCategory();
     // 1:M for events
     $builder->createOneToMany('events', 'Event')->orphanRemoval()->setIndexBy('event_type')->mappedBy('webhook')->cascadePersist()->build();
     // 1:M for queues
     $builder->createOneToMany('queues', 'WebhookQueue')->mappedBy('webhook')->fetchExtraLazy()->cascadePersist()->build();
     // 1:M for logs
     $builder->createOneToMany('logs', 'Log')->setOrderBy(array('dateAdded' => 'DESC'))->fetchExtraLazy()->mappedBy('webhook')->cascadePersist()->build();
     // status code
     $builder->createField('webhookUrl', 'string')->columnName('webhook_url')->length(255)->build();
 }
Пример #23
0
 /**
  * @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();
 }
Пример #24
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('page_redirects')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\RedirectRepository');
     $builder->addId();
     $builder->createField('redirectId', 'string')->columnName('redirect_id')->length(25)->build();
     $builder->addField('url', 'text');
     $builder->addField('hits', 'integer');
     $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build();
     $builder->createManyToOne('email', 'Mautic\\EmailBundle\\Entity\\Email')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build();
 }
Пример #25
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('plugins')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\PluginRepository')->addUniqueConstraint(['bundle'], 'unique_bundle');
     $builder->addIdColumns();
     $builder->createField('isMissing', 'boolean')->columnName('is_missing')->build();
     $builder->createField('bundle', 'string')->length(50)->build();
     $builder->createField('version', 'string')->nullable()->build();
     $builder->createField('author', 'string')->nullable()->build();
     $builder->createOneToMany('integrations', 'Integration')->setIndexBy('id')->mappedBy('plugin')->fetchExtraLazy()->build();
 }
Пример #26
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('point_trigger_events')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\TriggerEventRepository')->addIndex(['type'], 'trigger_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->createField('order', 'integer')->columnName('action_order')->build();
     $builder->addField('properties', 'array');
     $builder->createManyToOne('trigger', 'Trigger')->inversedBy('events')->addJoinColumn('trigger_id', 'id', false, false, 'CASCADE')->build();
     $builder->createOneToMany('log', 'LeadTriggerLog')->mappedBy('event')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
 }
Пример #27
0
 /**
  * @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();
 }
Пример #28
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth2_clients')->setCustomRepositoryClass('Mautic\\ApiBundle\\Entity\\oAuth2\\ClientRepository')->addIndex(array('random_id'), 'client_id_search');
     $builder->addIdColumns('name', false);
     $builder->createManyToMany('users', 'Mautic\\UserBundle\\Entity\\User')->setJoinTable('oauth2_user_client_xref')->addInverseJoinColumn('user_id', 'id', false, false, 'CASCADE')->addJoinColumn('client_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createField('randomId', 'string')->columnName('random_id')->build();
     $builder->addField('secret', 'string');
     $builder->createField('redirectUris', 'array')->columnName('redirect_uris')->build();
     $builder->createField('allowedGrantTypes', 'array')->columnName('allowed_grant_types')->build();
 }
Пример #29
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('permissions')->setCustomRepositoryClass('Mautic\\UserBundle\\Entity\\PermissionRepository')->addUniqueConstraint(['bundle', 'name', 'role_id'], 'unique_perm');
     $builder->addId();
     $builder->createField('bundle', 'string')->length(50)->build();
     $builder->createField('name', 'string')->length(50)->build();
     $builder->createManyToOne('role', 'Role')->inversedBy('permissions')->addJoinColumn('role_id', 'id', false, false, 'CASCADE')->build();
     $builder->addField('bitwise', 'integer');
 }
Пример #30
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('form_actions')->setCustomRepositoryClass('Mautic\\FormBundle\\Entity\\ActionRepository')->addIndex(array('type'), 'form_action_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->createField('order', 'integer')->columnName('action_order')->build();
     $builder->addField('properties', 'array');
     $builder->createManyToOne('form', 'Form')->inversedBy('actions')->addJoinColumn('form_id', 'id', false, false, 'CASCADE')->build();
 }