95 lines
4.8 KiB
C#
95 lines
4.8 KiB
C#
using FluentMigrator;
|
|
|
|
namespace Wishlist.Data.DB.Migrations
|
|
{
|
|
[Migration(2024_06_30__20_15)]
|
|
public class _20240630_2015_InitialTables : Migration
|
|
{
|
|
public override void Up()
|
|
{
|
|
Create.Table("Users")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("Username").AsString(50).NotNullable()
|
|
.WithColumn("Name").AsString(255).NotNullable()
|
|
.WithColumn("GivenName").AsString(255).NotNullable()
|
|
.WithColumn("Surname").AsString(255).NotNullable()
|
|
.WithColumn("Email").AsString(255).NotNullable()
|
|
.WithColumn("Password").AsString().NotNullable()
|
|
.WithColumn("ProjectRolesName").AsString(50).NotNullable()
|
|
.WithColumn("LoginType").AsInt32().NotNullable();
|
|
|
|
Create.Table("Wishlists")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("Name").AsString(50).NotNullable()
|
|
.WithColumn("Description").AsString().NotNullable()
|
|
.WithColumn("UserId").AsInt32().NotNullable()
|
|
.WithColumn("IsPublic").AsBoolean().NotNullable();
|
|
Create.ForeignKey("FK_Wishlists_Users_UserId")
|
|
.FromTable("Wishlists").ForeignColumn("UserId")
|
|
.ToTable("Users").PrimaryColumn("Id");
|
|
|
|
Create.Table("WishlistItems")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("WishlistId").AsInt32().NotNullable()
|
|
.WithColumn("Name").AsString(50).NotNullable()
|
|
.WithColumn("Description").AsString().Nullable()
|
|
.WithColumn("Price").AsDecimal().NotNullable()
|
|
.WithColumn("Link").AsString().Nullable();
|
|
Create.ForeignKey("FK_WishlistItems_Wishlists_WishlistId")
|
|
.FromTable("WishlistItems").ForeignColumn("WishlistId")
|
|
.ToTable("Wishlists").PrimaryColumn("Id");
|
|
|
|
Create.Table("UserMayViewWishList")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("UserId").AsInt32().NotNullable()
|
|
.WithColumn("WishlistId").AsInt32().NotNullable();
|
|
Create.ForeignKey("FK_UserMayViewWishList_Users_UserId")
|
|
.FromTable("UserMayViewWishList").ForeignColumn("UserId")
|
|
.ToTable("Users").PrimaryColumn("Id");
|
|
Create.ForeignKey("FK_UserMayViewWishList_Wishlists_WishlistId")
|
|
.FromTable("UserMayViewWishList").ForeignColumn("WishlistId")
|
|
.ToTable("Wishlists").PrimaryColumn("Id");
|
|
|
|
Create.Table("UserMarkedAsGettingItem")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("UserId").AsInt32().NotNullable()
|
|
.WithColumn("WishlistItemId").AsInt32().NotNullable();
|
|
Create.ForeignKey("FK_UserMarkedAsGettingItem_Users_UserId")
|
|
.FromTable("UserMarkedAsGettingItem").ForeignColumn("UserId")
|
|
.ToTable("Users").PrimaryColumn("Id");
|
|
Create.ForeignKey("FK_UserMarkedAsGettingItem_WishlistItems_WishlistItemId")
|
|
.FromTable("UserMarkedAsGettingItem").ForeignColumn("WishlistItemId")
|
|
.ToTable("WishlistItems").PrimaryColumn("Id");
|
|
|
|
Create.Table("Friends")
|
|
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
|
.WithColumn("UserId").AsInt32().NotNullable()
|
|
.WithColumn("FriendUserId").AsInt32().NotNullable();
|
|
Create.ForeignKey("FK_Friends_Users_UserId")
|
|
.FromTable("Friends").ForeignColumn("UserId")
|
|
.ToTable("Users").PrimaryColumn("Id");
|
|
Create.ForeignKey("FK_Friends_Users_FriendUserId")
|
|
.FromTable("Friends").ForeignColumn("FriendUserId")
|
|
.ToTable("Users").PrimaryColumn("Id");
|
|
}
|
|
|
|
public override void Down()
|
|
{
|
|
Delete.ForeignKey("FK_Friends_Users_FriendUserId");
|
|
Delete.ForeignKey("FK_Friends_Users_UserId");
|
|
Delete.Table("Friends");
|
|
Delete.ForeignKey("FK_UserMarkedAsGettingItem_WishlistItems_WishlistItemId");
|
|
Delete.ForeignKey("FK_UserMarkedAsGettingItem_Users_UserId");
|
|
Delete.Table("UserMarkedAsGettingItem");
|
|
Delete.ForeignKey("FK_UserMayViewWishList_Wishlists_WishlistId");
|
|
Delete.ForeignKey("FK_UserMayViewWishList_Users_UserId");
|
|
Delete.Table("UserMayViewWishList");
|
|
Delete.ForeignKey("FK_WishlistItems_Wishlists_WishlistId");
|
|
Delete.Table("WishlistItems");
|
|
Delete.ForeignKey("FK_Wishlists_Users_UserId");
|
|
Delete.Table("Wishlists");
|
|
Delete.Table("Users");
|
|
}
|
|
}
|
|
}
|