Browse Source

fix: cascade delete pageTree on page delete (#1119)

pull/1130/head
NGPixel 5 years ago
parent
commit
ab8391c085
2 changed files with 58 additions and 0 deletions
  1. 35
      server/db/migrations-sqlite/2.0.0-rc.2.js
  2. 23
      server/db/migrations/2.0.0-rc.2.js

35
server/db/migrations-sqlite/2.0.0-rc.2.js

@ -0,0 +1,35 @@
exports.up = knex => {
return knex.schema
.dropTable('pageTree')
.createTable('pageTree', table => {
table.increments('id').primary()
table.string('path').notNullable()
table.integer('depth').unsigned().notNullable()
table.string('title').notNullable()
table.boolean('isPrivate').notNullable().defaultTo(false)
table.boolean('isFolder').notNullable().defaultTo(false)
table.string('privateNS')
table.integer('parent').unsigned().references('id').inTable('pageTree').onDelete('CASCADE')
table.integer('pageId').unsigned().references('id').inTable('pages').onDelete('CASCADE')
table.string('localeCode', 5).references('code').inTable('locales')
})
}
exports.down = knex => {
return knex.schema
.dropTable('pageTree')
.createTable('pageTree', table => {
table.increments('id').primary()
table.string('path').notNullable()
table.integer('depth').unsigned().notNullable()
table.string('title').notNullable()
table.boolean('isPrivate').notNullable().defaultTo(false)
table.boolean('isFolder').notNullable().defaultTo(false)
table.string('privateNS')
table.integer('parent').unsigned().references('id').inTable('pageTree')
table.integer('pageId').unsigned().references('id').inTable('pages')
table.string('localeCode', 5).references('code').inTable('locales')
})
}

23
server/db/migrations/2.0.0-rc.2.js

@ -0,0 +1,23 @@
exports.up = knex => {
return knex.schema
.table('pageTree', table => {
table.dropColumn('parent')
table.dropColumn('pageId')
})
.table('pageTree', table => {
table.integer('parent').unsigned().references('id').inTable('pageTree').onDelete('CASCADE')
table.integer('pageId').unsigned().references('id').inTable('pages').onDelete('CASCADE')
})
}
exports.down = knex => {
return knex.schema
.table('pageTree', table => {
table.dropColumn('parent')
table.dropColumn('pageId')
})
.table('pageTree', table => {
table.integer('parent').unsigned().references('id').inTable('pageTree')
table.integer('pageId').unsigned().references('id').inTable('pages')
})
}
Loading…
Cancel
Save