Skip to content

Commit f345496

Browse files
chore: wip
1 parent eba282e commit f345496

File tree

283 files changed

+17177
-15001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

283 files changed

+17177
-15001
lines changed

database/migrations/1754552212931-create-commentables-table.ts renamed to database/migrations/1754555850094-create-comments-table.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@ import { sql } from '@stacksjs/database'
33

44
export async function up(db: Database<any>) {
55
await db.schema
6-
.createTable('commentables')
6+
.createTable('comments')
77
.addColumn('id', 'serial', col => col.primaryKey())
88
.addColumn('title', 'varchar(255)', col => col.notNull())
99
.addColumn('body', 'text', col => col.notNull())
1010
.addColumn('status', 'varchar(50)', col => col.notNull().defaultTo('pending'))
1111
.addColumn('approved_at', 'integer')
1212
.addColumn('rejected_at', 'integer')
13-
.addColumn('commentables_id', 'integer', col => col.notNull())
14-
.addColumn('commentables_type', 'varchar(255)', col => col.notNull())
1513
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
1614
.addColumn('updated_at', 'timestamp')
1715
.execute()
1816

19-
await db.schema.createIndex('idx_commenteable_status').on('commentables').column('status').execute()
20-
await db.schema.createIndex('idx_commenteable_commentables').on('commentables').columns(['commentables_id', 'commentables_type']).execute()
17+
await db.schema.createIndex('idx_comments_status').on('comments').column('status').execute()
18+
await db.schema.createIndex('idx_comments_created_at').on('comments').column('created_at').execute()
2119
}

database/migrations/1754552212932-create-taggables-table.ts renamed to database/migrations/1754555850096-create-tags-table.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { sql } from '@stacksjs/database'
33

44
export async function up(db: Database<any>) {
55
await db.schema
6-
.createTable('taggables')
6+
.createTable('tags')
77
.addColumn('id', 'serial', col => col.primaryKey())
88
.addColumn('name', 'varchar(255)', col => col.notNull())
99
.addColumn('slug', 'varchar(255)', col => col.notNull().unique())
@@ -16,20 +16,20 @@ export async function up(db: Database<any>) {
1616
.execute()
1717

1818
await db.schema
19-
.createIndex('idx_taggables_slug')
20-
.on('taggables')
19+
.createIndex('idx_tags_slug')
20+
.on('tags')
2121
.column('slug')
2222
.execute()
2323

2424
await db.schema
25-
.createIndex('idx_taggables_type')
26-
.on('taggables')
25+
.createIndex('idx_tags_type')
26+
.on('tags')
2727
.column('type')
2828
.execute()
2929

3030
await db.schema
31-
.createIndex('idx_taggables_name')
32-
.on('taggables')
31+
.createIndex('idx_tags_name')
32+
.on('tags')
3333
.column('name')
3434
.execute()
3535

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import type { Database } from '@stacksjs/database'
2+
import { sql } from '@stacksjs/database'
3+
4+
export async function up(db: Database<any>) {
5+
await db.schema
6+
.createTable('taggable_models')
7+
.addColumn('id', 'serial', col => col.primaryKey())
8+
.addColumn('tag_id', 'integer', col => col.notNull())
9+
.addColumn('taggable_id', 'integer', col => col.notNull())
10+
.addColumn('taggable_type', 'varchar(255)', col => col.notNull())
11+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
12+
.addColumn('updated_at', 'timestamp')
13+
.execute()
14+
15+
await db.schema
16+
.alterTable('taggable_models')
17+
.addForeignKeyConstraint('taggable_models_tag_id_foreign', ['tag_id'], 'tags', ['id'], (cb) => cb.onDelete('cascade'))
18+
.execute()
19+
20+
await db.schema
21+
.createIndex('idx_taggable_models_tag')
22+
.on('taggable_models')
23+
.column('tag_id')
24+
.execute()
25+
26+
await db.schema
27+
.createIndex('idx_taggable_models_polymorphic')
28+
.on('taggable_models')
29+
.columns(['taggable_id', 'taggable_type'])
30+
.execute()
31+
32+
await db.schema
33+
.createIndex('idx_taggable_models_unique')
34+
.on('taggable_models')
35+
.columns(['tag_id', 'taggable_id', 'taggable_type'])
36+
.unique()
37+
.execute()
38+
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import type { Database } from '@stacksjs/database'
2+
import { sql } from '@stacksjs/database'
3+
4+
export async function up(db: Database<any>) {
5+
await db.schema
6+
.createTable('commentables')
7+
.addColumn('id', 'serial', col => col.primaryKey())
8+
.addColumn('comment_id', 'integer', col => col.notNull())
9+
.addColumn('commentable_id', 'integer', col => col.notNull())
10+
.addColumn('commentable_type', 'varchar(255)', col => col.notNull())
11+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
12+
.addColumn('updated_at', 'timestamp')
13+
.execute()
14+
15+
await db.schema
16+
.alterTable('commentables')
17+
.addForeignKeyConstraint('commentables_comment_id_foreign', ['comment_id'], 'comments', ['id'], (cb) => cb.onDelete('cascade'))
18+
.execute()
19+
20+
await db.schema
21+
.createIndex('idx_commentables_comment')
22+
.on('commentables')
23+
.column('comment_id')
24+
.execute()
25+
26+
await db.schema
27+
.createIndex('idx_commentables_polymorphic')
28+
.on('commentables')
29+
.columns(['commentable_id', 'commentable_type'])
30+
.execute()
31+
32+
await db.schema
33+
.createIndex('idx_commentables_unique')
34+
.on('commentables')
35+
.columns(['comment_id', 'commentable_id', 'commentable_type'])
36+
.unique()
37+
.execute()
38+
39+
}

0 commit comments

Comments
 (0)