Skip to content

Commit fdf8eed

Browse files
Revert "chore: wip"
This reverts commit b3caa7f.
1 parent 2eb0d69 commit fdf8eed

File tree

68 files changed

+2474
-953
lines changed

Some content is hidden

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

68 files changed

+2474
-953
lines changed

bun.lock

Lines changed: 0 additions & 87 deletions
Large diffs are not rendered by default.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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('categorizables')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('name', 'varchar(255)', col => col.notNull())
9+
.addColumn('slug', 'varchar(255)', col => col.notNull().unique())
10+
.addColumn('description', 'text')
11+
.addColumn('is_active', 'boolean', col => col.defaultTo(true))
12+
.addColumn('categorizable_type', 'varchar(255)', col => col.notNull())
13+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
14+
.addColumn('updated_at', 'timestamp')
15+
.execute()
16+
17+
await db.schema
18+
.createIndex('categorizables_id_index')
19+
.on('categorizables')
20+
.column('id')
21+
.execute()
22+
23+
await db.schema
24+
.createIndex('categorizables_slug_index')
25+
.on('categorizables')
26+
.column('slug')
27+
.execute()
28+
29+
await db.schema
30+
.createIndex('categorizables_polymorphic_index')
31+
.on('categorizables')
32+
.columns(['categorizable_type'])
33+
.execute()
34+
35+
await db.schema
36+
.createIndex('categorizables_is_active_index')
37+
.on('categorizables')
38+
.column('is_active')
39+
.execute()
40+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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('comments')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('title', 'varchar(255)', col => col.notNull())
9+
.addColumn('body', 'text', col => col.notNull())
10+
.addColumn('status', 'varchar(50)', col => col.notNull().defaultTo('approved'))
11+
.addColumn('approved_at', 'integer')
12+
.addColumn('rejected_at', 'integer')
13+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
14+
.addColumn('updated_at', 'timestamp')
15+
.execute()
16+
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()
19+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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('tags')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('name', 'varchar(255)', col => col.notNull())
9+
.addColumn('slug', 'varchar(255)', col => col.notNull().unique())
10+
.addColumn('type', 'varchar(255)')
11+
.addColumn('color', 'varchar(255)')
12+
.addColumn('description', 'text')
13+
.addColumn('is_active', 'boolean', col => col.defaultTo(true))
14+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
15+
.addColumn('updated_at', 'timestamp')
16+
.execute()
17+
18+
await db.schema
19+
.createIndex('idx_tags_slug')
20+
.on('tags')
21+
.column('slug')
22+
.execute()
23+
24+
await db.schema
25+
.createIndex('idx_tags_type')
26+
.on('tags')
27+
.column('type')
28+
.execute()
29+
30+
await db.schema
31+
.createIndex('idx_tags_name')
32+
.on('tags')
33+
.column('name')
34+
.execute()
35+
36+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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('taggables')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
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+
.createIndex('idx_taggables_tag')
17+
.on('taggables')
18+
.column('tag_id')
19+
.execute()
20+
21+
await db.schema
22+
.createIndex('idx_taggables_polymorphic')
23+
.on('taggables')
24+
.columns(['taggable_id', 'taggable_type'])
25+
.execute()
26+
27+
await db.schema
28+
.createIndex('idx_taggables_unique')
29+
.on('taggables')
30+
.columns(['tag_id', 'taggable_id', 'taggable_type'])
31+
.unique()
32+
.execute()
33+
34+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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('passkeys')
7+
.addColumn('id', 'text')
8+
.addColumn('cred_public_key', 'text')
9+
.addColumn('webauthn_user_id', 'varchar(255)')
10+
.addColumn('counter', 'integer', col => col.defaultTo(0))
11+
.addColumn('device_type', 'varchar(255)')
12+
.addColumn('credential_type', 'varchar(255)')
13+
.addColumn('backup_eligible', 'boolean', col => col.defaultTo(false))
14+
.addColumn('backup_status', 'boolean', col => col.defaultTo(false))
15+
.addColumn('transports', 'varchar(255)')
16+
.addColumn('last_used_at', 'text')
17+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
18+
.execute()
19+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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('password_resets')
7+
.addColumn('email', 'varchar(255)', col => col.notNull())
8+
.addColumn('token', 'varchar(255)', col => col.notNull())
9+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
10+
.execute()
11+
12+
await db.schema
13+
.createIndex('password_resets_email_index')
14+
.on('password_resets')
15+
.column('email')
16+
.execute()
17+
18+
await db.schema
19+
.createIndex('password_resets_token_index')
20+
.on('password_resets')
21+
.column('token')
22+
.execute()
23+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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('commenteable_upvotes')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('upvoteable_id', 'integer', col => col.notNull())
9+
.addColumn('upvoteable_type', 'varchar(255)', col => col.notNull())
10+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
11+
.execute()
12+
13+
await db.schema.createIndex('idx_commenteable_upvotes_upvoteable').on('commenteable_upvotes').columns(['upvoteable_id', 'upvoteable_type']).execute()
14+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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('query_logs')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('query', 'text', col => col.notNull())
9+
.addColumn('normalized_query', 'text')
10+
.addColumn('duration', 'integer')
11+
.addColumn('connection', 'varchar(255)')
12+
.addColumn('status', 'varchar(50)')
13+
.addColumn('executed_at', 'timestamp', col => col.notNull())
14+
.addColumn('model', 'varchar(255)')
15+
.addColumn('method', 'varchar(255)')
16+
.addColumn('rows_affected', 'integer')
17+
.addColumn('optimization_suggestions', 'json')
18+
.addColumn('affected_tables', 'json')
19+
.addColumn('indexes_used', 'json')
20+
.addColumn('missing_indexes', 'json')
21+
.addColumn('tags', 'json')
22+
.addColumn('bindings', 'json')
23+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql.raw('CURRENT_TIMESTAMP')))
24+
.addColumn('updated_at', 'timestamp')
25+
.execute()
26+
27+
await db.schema
28+
.createIndex('idx_query_logs_executed_at')
29+
.on('query_logs')
30+
.column('executed_at')
31+
.execute()
32+
33+
await db.schema
34+
.createIndex('idx_query_logs_status')
35+
.on('query_logs')
36+
.column('status')
37+
.execute()
38+
39+
await db.schema
40+
.createIndex('idx_query_logs_duration')
41+
.on('query_logs')
42+
.column('duration')
43+
.execute()
44+
45+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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('projects')
7+
.addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
8+
.addColumn('name', 'text', col => col.notNull())
9+
.addColumn('description', 'text', col => col.notNull())
10+
.addColumn('url', 'text', col => col.notNull())
11+
.addColumn('status', 'text', col => col.notNull())
12+
.addColumn('created_at', 'timestamp', col => col.notNull().defaultTo(sql`CURRENT_TIMESTAMP`))
13+
.addColumn('updated_at', 'timestamp')
14+
.execute()
15+
16+
await db.schema.createIndex('projects_id_index').on('projects').column('id').execute()
17+
}

0 commit comments

Comments
 (0)