realworld-hono-drizzle
Version:
A RealWorld backend built with Hono and Drizzle
393 lines (392 loc) • 8.91 kB
JSON
{
"version": "6",
"dialect": "sqlite",
"id": "8b42a78c-2e05-45bf-bb47-9fed73e5d12e",
"prevId": "00000000-0000-0000-0000-000000000000",
"tables": {
"article_favorite": {
"name": "article_favorite",
"columns": {
"articleSlug": {
"name": "articleSlug",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"userId": {
"name": "userId",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"article_favorite_articleSlug_articles_slug_fk": {
"name": "article_favorite_articleSlug_articles_slug_fk",
"tableFrom": "article_favorite",
"tableTo": "articles",
"columnsFrom": ["articleSlug"],
"columnsTo": ["slug"],
"onDelete": "cascade",
"onUpdate": "cascade"
},
"article_favorite_userId_users_id_fk": {
"name": "article_favorite_userId_users_id_fk",
"tableFrom": "article_favorite",
"tableTo": "users",
"columnsFrom": ["userId"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {
"article_favorite_articleSlug_userId_pk": {
"columns": ["articleSlug", "userId"],
"name": "article_favorite_articleSlug_userId_pk"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"article_tag": {
"name": "article_tag",
"columns": {
"articleSlug": {
"name": "articleSlug",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"tag": {
"name": "tag",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"article_tag_articleSlug_articles_slug_fk": {
"name": "article_tag_articleSlug_articles_slug_fk",
"tableFrom": "article_tag",
"tableTo": "articles",
"columnsFrom": ["articleSlug"],
"columnsTo": ["slug"],
"onDelete": "cascade",
"onUpdate": "cascade"
},
"article_tag_tag_tags_tag_fk": {
"name": "article_tag_tag_tags_tag_fk",
"tableFrom": "article_tag",
"tableTo": "tags",
"columnsFrom": ["tag"],
"columnsTo": ["tag"],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {
"article_tag_articleSlug_tag_pk": {
"columns": ["articleSlug", "tag"],
"name": "article_tag_articleSlug_tag_pk"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"articles": {
"name": "articles",
"columns": {
"slug": {
"name": "slug",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"body": {
"name": "body",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"createdAt": {
"name": "createdAt",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(CURRENT_TIMESTAMP)"
},
"updatedAt": {
"name": "updatedAt",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(CURRENT_TIMESTAMP)"
},
"authorId": {
"name": "authorId",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"articles_authorId_users_id_fk": {
"name": "articles_authorId_users_id_fk",
"tableFrom": "articles",
"tableTo": "users",
"columnsFrom": ["authorId"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"comments": {
"name": "comments",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"createdAt": {
"name": "createdAt",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(CURRENT_TIMESTAMP)"
},
"updatedAt": {
"name": "updatedAt",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(CURRENT_TIMESTAMP)"
},
"body": {
"name": "body",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"articleSlug": {
"name": "articleSlug",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"authorId": {
"name": "authorId",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"comments_articleSlug_articles_slug_fk": {
"name": "comments_articleSlug_articles_slug_fk",
"tableFrom": "comments",
"tableTo": "articles",
"columnsFrom": ["articleSlug"],
"columnsTo": ["slug"],
"onDelete": "cascade",
"onUpdate": "cascade"
},
"comments_authorId_users_id_fk": {
"name": "comments_authorId_users_id_fk",
"tableFrom": "comments",
"tableTo": "users",
"columnsFrom": ["authorId"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"tags": {
"name": "tags",
"columns": {
"tag": {
"name": "tag",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"tags_tag_unique": {
"name": "tags_tag_unique",
"columns": ["tag"],
"isUnique": true
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"user_follow": {
"name": "user_follow",
"columns": {
"followerId": {
"name": "followerId",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"followedId": {
"name": "followedId",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"user_follow_followerId_users_id_fk": {
"name": "user_follow_followerId_users_id_fk",
"tableFrom": "user_follow",
"tableTo": "users",
"columnsFrom": ["followerId"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
},
"user_follow_followedId_users_id_fk": {
"name": "user_follow_followedId_users_id_fk",
"tableFrom": "user_follow",
"tableTo": "users",
"columnsFrom": ["followedId"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {
"user_follow_followerId_followedId_pk": {
"columns": ["followerId", "followedId"],
"name": "user_follow_followerId_followedId_pk"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"users": {
"name": "users",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"email": {
"name": "email",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"bio": {
"name": "bio",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"image": {
"name": "image",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"passwordHash": {
"name": "passwordHash",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"users_email_unique": {
"name": "users_email_unique",
"columns": ["email"],
"isUnique": true
},
"users_username_unique": {
"name": "users_username_unique",
"columns": ["username"],
"isUnique": true
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
}
},
"views": {},
"enums": {},
"_meta": {
"schemas": {},
"tables": {},
"columns": {}
},
"internal": {
"indexes": {}
}
}