You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.4 KiB

  1. exports.up = knex => {
  2. return knex.schema
  3. .dropTable('pageTree')
  4. .createTable('pageTree', table => {
  5. table.integer('id').primary()
  6. table.string('path').notNullable()
  7. table.integer('depth').unsigned().notNullable()
  8. table.string('title').notNullable()
  9. table.boolean('isPrivate').notNullable().defaultTo(false)
  10. table.boolean('isFolder').notNullable().defaultTo(false)
  11. table.string('privateNS')
  12. table.integer('parent').unsigned().references('id').inTable('pageTree').onDelete('CASCADE')
  13. table.integer('pageId').unsigned().references('id').inTable('pages').onDelete('CASCADE')
  14. table.string('localeCode', 5).references('code').inTable('locales')
  15. })
  16. }
  17. exports.down = knex => {
  18. return knex.schema
  19. .dropTable('pageTree')
  20. .createTable('pageTree', table => {
  21. table.integer('id').primary()
  22. table.string('path').notNullable()
  23. table.integer('depth').unsigned().notNullable()
  24. table.string('title').notNullable()
  25. table.boolean('isPrivate').notNullable().defaultTo(false)
  26. table.boolean('isFolder').notNullable().defaultTo(false)
  27. table.string('privateNS')
  28. table.integer('parent').unsigned().references('id').inTable('pageTree')
  29. table.integer('pageId').unsigned().references('id').inTable('pages')
  30. table.string('localeCode', 5).references('code').inTable('locales')
  31. })
  32. }