/ ent / migrate / schema.go
schema.go
  1  // Code generated by ent, DO NOT EDIT.
  2  
  3  package migrate
  4  
  5  import (
  6  	"entgo.io/ent/dialect/sql/schema"
  7  	"entgo.io/ent/schema/field"
  8  )
  9  
 10  var (
 11  	// FeedsColumns holds the columns for the "feeds" table.
 12  	FeedsColumns = []*schema.Column{
 13  		{Name: "id", Type: field.TypeUUID},
 14  		{Name: "url", Type: field.TypeString},
 15  		{Name: "username", Type: field.TypeString, Default: ""},
 16  		{Name: "password", Type: field.TypeString, Default: ""},
 17  		{Name: "feed_title", Type: field.TypeString},
 18  		{Name: "feed_description", Type: field.TypeString},
 19  		{Name: "feed_link", Type: field.TypeString},
 20  		{Name: "feed_feed_link", Type: field.TypeString},
 21  		{Name: "feed_updated", Type: field.TypeTime},
 22  		{Name: "feed_published", Type: field.TypeTime},
 23  		{Name: "feed_author_name", Type: field.TypeString, Nullable: true},
 24  		{Name: "feed_author_email", Type: field.TypeString, Nullable: true},
 25  		{Name: "feed_language", Type: field.TypeString},
 26  		{Name: "feed_image_title", Type: field.TypeString, Nullable: true},
 27  		{Name: "feed_image_url", Type: field.TypeString, Nullable: true},
 28  		{Name: "feed_copyright", Type: field.TypeString},
 29  		{Name: "feed_generator", Type: field.TypeString},
 30  		{Name: "feed_categories", Type: field.TypeString},
 31  		{Name: "created_at", Type: field.TypeTime},
 32  		{Name: "updated_at", Type: field.TypeTime},
 33  		{Name: "deleted_at", Type: field.TypeTime, Nullable: true},
 34  	}
 35  	// FeedsTable holds the schema information for the "feeds" table.
 36  	FeedsTable = &schema.Table{
 37  		Name:       "feeds",
 38  		Columns:    FeedsColumns,
 39  		PrimaryKey: []*schema.Column{FeedsColumns[0]},
 40  		Indexes: []*schema.Index{
 41  			{
 42  				Name:    "feed_url_username_password",
 43  				Unique:  true,
 44  				Columns: []*schema.Column{FeedsColumns[1], FeedsColumns[2], FeedsColumns[3]},
 45  			},
 46  		},
 47  	}
 48  	// ItemsColumns holds the columns for the "items" table.
 49  	ItemsColumns = []*schema.Column{
 50  		{Name: "id", Type: field.TypeUUID},
 51  		{Name: "item_guid", Type: field.TypeString, Unique: true},
 52  		{Name: "item_title", Type: field.TypeString},
 53  		{Name: "item_description", Type: field.TypeString},
 54  		{Name: "item_content", Type: field.TypeString},
 55  		{Name: "item_link", Type: field.TypeString},
 56  		{Name: "item_updated", Type: field.TypeTime},
 57  		{Name: "item_published", Type: field.TypeTime},
 58  		{Name: "item_author_name", Type: field.TypeString, Nullable: true},
 59  		{Name: "item_author_email", Type: field.TypeString, Nullable: true},
 60  		{Name: "item_image_title", Type: field.TypeString, Nullable: true},
 61  		{Name: "item_image_url", Type: field.TypeString, Nullable: true},
 62  		{Name: "item_categories", Type: field.TypeString},
 63  		{Name: "item_enclosures", Type: field.TypeString},
 64  		{Name: "crawler_title", Type: field.TypeString, Nullable: true},
 65  		{Name: "crawler_author", Type: field.TypeString, Nullable: true},
 66  		{Name: "crawler_excerpt", Type: field.TypeString, Nullable: true},
 67  		{Name: "crawler_site_name", Type: field.TypeString, Nullable: true},
 68  		{Name: "crawler_image", Type: field.TypeString, Nullable: true},
 69  		{Name: "crawler_content_html", Type: field.TypeString, Nullable: true},
 70  		{Name: "crawler_content_text", Type: field.TypeString, Nullable: true},
 71  		{Name: "created_at", Type: field.TypeTime},
 72  		{Name: "updated_at", Type: field.TypeTime},
 73  		{Name: "feed_items", Type: field.TypeUUID, Nullable: true},
 74  	}
 75  	// ItemsTable holds the schema information for the "items" table.
 76  	ItemsTable = &schema.Table{
 77  		Name:       "items",
 78  		Columns:    ItemsColumns,
 79  		PrimaryKey: []*schema.Column{ItemsColumns[0]},
 80  		ForeignKeys: []*schema.ForeignKey{
 81  			{
 82  				Symbol:     "items_feeds_items",
 83  				Columns:    []*schema.Column{ItemsColumns[23]},
 84  				RefColumns: []*schema.Column{FeedsColumns[0]},
 85  				OnDelete:   schema.SetNull,
 86  			},
 87  		},
 88  		Indexes: []*schema.Index{
 89  			{
 90  				Name:    "item_item_guid",
 91  				Unique:  true,
 92  				Columns: []*schema.Column{ItemsColumns[1]},
 93  			},
 94  		},
 95  	}
 96  	// ReadsColumns holds the columns for the "reads" table.
 97  	ReadsColumns = []*schema.Column{
 98  		{Name: "id", Type: field.TypeUUID},
 99  		{Name: "created_at", Type: field.TypeTime},
100  		{Name: "user_id", Type: field.TypeUUID},
101  		{Name: "item_id", Type: field.TypeUUID},
102  	}
103  	// ReadsTable holds the schema information for the "reads" table.
104  	ReadsTable = &schema.Table{
105  		Name:       "reads",
106  		Columns:    ReadsColumns,
107  		PrimaryKey: []*schema.Column{ReadsColumns[0]},
108  		ForeignKeys: []*schema.ForeignKey{
109  			{
110  				Symbol:     "reads_users_user",
111  				Columns:    []*schema.Column{ReadsColumns[2]},
112  				RefColumns: []*schema.Column{UsersColumns[0]},
113  				OnDelete:   schema.NoAction,
114  			},
115  			{
116  				Symbol:     "reads_items_item",
117  				Columns:    []*schema.Column{ReadsColumns[3]},
118  				RefColumns: []*schema.Column{ItemsColumns[0]},
119  				OnDelete:   schema.NoAction,
120  			},
121  		},
122  		Indexes: []*schema.Index{
123  			{
124  				Name:    "read_user_id_item_id",
125  				Unique:  true,
126  				Columns: []*schema.Column{ReadsColumns[2], ReadsColumns[3]},
127  			},
128  		},
129  	}
130  	// SubscriptionsColumns holds the columns for the "subscriptions" table.
131  	SubscriptionsColumns = []*schema.Column{
132  		{Name: "id", Type: field.TypeUUID},
133  		{Name: "name", Type: field.TypeString},
134  		{Name: "group", Type: field.TypeString},
135  		{Name: "created_at", Type: field.TypeTime},
136  		{Name: "user_id", Type: field.TypeUUID},
137  		{Name: "feed_id", Type: field.TypeUUID},
138  	}
139  	// SubscriptionsTable holds the schema information for the "subscriptions" table.
140  	SubscriptionsTable = &schema.Table{
141  		Name:       "subscriptions",
142  		Columns:    SubscriptionsColumns,
143  		PrimaryKey: []*schema.Column{SubscriptionsColumns[0]},
144  		ForeignKeys: []*schema.ForeignKey{
145  			{
146  				Symbol:     "subscriptions_users_user",
147  				Columns:    []*schema.Column{SubscriptionsColumns[4]},
148  				RefColumns: []*schema.Column{UsersColumns[0]},
149  				OnDelete:   schema.NoAction,
150  			},
151  			{
152  				Symbol:     "subscriptions_feeds_feed",
153  				Columns:    []*schema.Column{SubscriptionsColumns[5]},
154  				RefColumns: []*schema.Column{FeedsColumns[0]},
155  				OnDelete:   schema.NoAction,
156  			},
157  		},
158  		Indexes: []*schema.Index{
159  			{
160  				Name:    "subscription_user_id_feed_id",
161  				Unique:  true,
162  				Columns: []*schema.Column{SubscriptionsColumns[4], SubscriptionsColumns[5]},
163  			},
164  		},
165  	}
166  	// TokensColumns holds the columns for the "tokens" table.
167  	TokensColumns = []*schema.Column{
168  		{Name: "id", Type: field.TypeUUID},
169  		{Name: "type", Type: field.TypeString, Default: "qat"},
170  		{Name: "name", Type: field.TypeString},
171  		{Name: "token", Type: field.TypeString, Unique: true},
172  		{Name: "created_at", Type: field.TypeTime},
173  		{Name: "updated_at", Type: field.TypeTime},
174  		{Name: "deleted_at", Type: field.TypeTime, Nullable: true},
175  		{Name: "user_tokens", Type: field.TypeUUID, Nullable: true},
176  	}
177  	// TokensTable holds the schema information for the "tokens" table.
178  	TokensTable = &schema.Table{
179  		Name:       "tokens",
180  		Columns:    TokensColumns,
181  		PrimaryKey: []*schema.Column{TokensColumns[0]},
182  		ForeignKeys: []*schema.ForeignKey{
183  			{
184  				Symbol:     "tokens_users_tokens",
185  				Columns:    []*schema.Column{TokensColumns[7]},
186  				RefColumns: []*schema.Column{UsersColumns[0]},
187  				OnDelete:   schema.SetNull,
188  			},
189  		},
190  	}
191  	// UsersColumns holds the columns for the "users" table.
192  	UsersColumns = []*schema.Column{
193  		{Name: "id", Type: field.TypeUUID},
194  		{Name: "username", Type: field.TypeString, Unique: true},
195  		{Name: "password", Type: field.TypeString},
196  		{Name: "role", Type: field.TypeString, Default: "user"},
197  		{Name: "created_at", Type: field.TypeTime},
198  		{Name: "updated_at", Type: field.TypeTime},
199  		{Name: "deleted_at", Type: field.TypeTime, Nullable: true},
200  	}
201  	// UsersTable holds the schema information for the "users" table.
202  	UsersTable = &schema.Table{
203  		Name:       "users",
204  		Columns:    UsersColumns,
205  		PrimaryKey: []*schema.Column{UsersColumns[0]},
206  	}
207  	// Tables holds all the tables in the schema.
208  	Tables = []*schema.Table{
209  		FeedsTable,
210  		ItemsTable,
211  		ReadsTable,
212  		SubscriptionsTable,
213  		TokensTable,
214  		UsersTable,
215  	}
216  )
217  
218  func init() {
219  	ItemsTable.ForeignKeys[0].RefTable = FeedsTable
220  	ReadsTable.ForeignKeys[0].RefTable = UsersTable
221  	ReadsTable.ForeignKeys[1].RefTable = ItemsTable
222  	SubscriptionsTable.ForeignKeys[0].RefTable = UsersTable
223  	SubscriptionsTable.ForeignKeys[1].RefTable = FeedsTable
224  	TokensTable.ForeignKeys[0].RefTable = UsersTable
225  }