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.

61 lines
1.8 KiB

  1. <?php
  2. use Movim\Migration;
  3. use Illuminate\Database\Schema\Blueprint;
  4. class CreateDraftsTable extends Migration
  5. {
  6. public function up()
  7. {
  8. $this->disableForeignKeyCheck();
  9. $this->schema->create('drafts', function (Blueprint $table) {
  10. $table->increments('id');
  11. $table->string('user_id', 256);
  12. $table->string('server', 64);
  13. $table->string('node', 256);
  14. $table->string('nodeid', 192);
  15. $table->integer('reply_id')->unsigned()->nullable();
  16. $table->boolean('open')->default(false);
  17. $table->text('title')->nullable();
  18. $table->text('content')->nullable();
  19. $table->timestamps();
  20. $table->unique(['user_id', 'server', 'node', 'nodeid']);
  21. $table->foreign('user_id')
  22. ->references('id')->on('users')
  23. ->onDelete('cascade');
  24. $table->foreign('reply_id')
  25. ->references('id')->on('posts')
  26. ->onDelete('cascade');
  27. });
  28. $this->schema->create('embeds', function (Blueprint $table) {
  29. $table->increments('id');
  30. $table->integer('draft_id')->unsigned();
  31. $table->string('url', 384);
  32. $table->integer('imagenumber')->default(0);
  33. $table->timestamps();
  34. $table->foreign('draft_id')
  35. ->references('id')->on('drafts')
  36. ->onDelete('cascade');
  37. $table->unique(['draft_id', 'url']);
  38. });
  39. $this->enableForeignKeyCheck();
  40. }
  41. public function down()
  42. {
  43. $this->disableForeignKeyCheck();
  44. $this->schema->drop('embeds');
  45. $this->schema->drop('drafts');
  46. $this->enableForeignKeyCheck();
  47. }
  48. }