Guest User

Migration

a guest
Mar 9th, 2014
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.80 KB | None | 0 0
  1. // 1) users_level
  2. Schema::create('levels', function($table)
  3. {
  4.     $table->increments('id')->unsigned();
  5.     $table->string('level');
  6.     $table->engine = 'InnoDB';
  7. });
  8.  
  9. DB::insert('insert into levels (id, level) values (?, ?)', array(1, 'Admin'));
  10. DB::insert('insert into levels (id, level) values (?, ?)', array(2, 'Editor'));
  11. DB::insert('insert into levels (id, level) values (?, ?)', array(3, 'User'));
  12.  
  13. // 2) users
  14. Schema::create('users', function($table)
  15. {
  16.     $table->increments('id')->unsigned();
  17.  
  18.     $table->string('username'); $table->unique('username');
  19.     $table->string('password');
  20.     $table->string('email');    $table->unique('email');
  21.     $table->string('avatar', '1024');
  22.     $table->boolean('newsletter');
  23.     $table->timestamps();
  24.  
  25.     $table->integer('level_id')->unsigned(); //Foreign key unsigned
  26.     $table->foreign('level_id')->references('id')->on('levels');
  27.     $table->engine = 'InnoDB';
  28. });
  29.  
  30. // 3) news
  31. Schema::create('news', function($table)
  32. {
  33.     $table->increments('id')->unsigned();;
  34.     $table->string('title', '512');
  35.     $table->string('url_title', '1024');
  36.     $table->text('short_news');
  37.     $table->text('full_news');
  38.     $table->timestamps();
  39.  
  40.     $table->integer('user_id')->unsigned(); //Foreign key unsigned
  41.     $table->foreign('user_id')->references('id')->on('users');
  42.     $table->engine = 'InnoDB';
  43. });
  44.  
  45. // 4) categories
  46. Schema::create('categories', function($table)
  47. {
  48.     $table->increments('id')->unsigned();;
  49.     $table->string('category'); $table->unique('category');
  50.     $table->string('icon', '1024');
  51.     $table->timestamps();
  52.     $table->engine = 'InnoDB';
  53. });
  54.  
  55. // 5) comments
  56. Schema::create('comments', function($table)
  57. {
  58.     $table->increments('id')->unsigned();;
  59.     $table->text('comment');
  60.     $table->timestamps();
  61.  
  62.     $table->integer('news_id')->unsigned(); //Foreign key unsigned
  63.     $table->foreign('news_id')->references('id')->on('news');
  64.  
  65.     $table->integer('user_id')->unsigned(); //Foreign key unsigned
  66.     $table->foreign('user_id')->references('id')->on('users');
  67.     $table->engine = 'InnoDB';
  68. });
  69.  
  70. // 6) categories_news
  71. Schema::create('categories_news', function($table)
  72. {
  73.     $table->integer('categories_id')->unsigned(); //Foreign key unsigned
  74.     $table->foreign('categories_id')->references('id')->on('categories');
  75.  
  76.     $table->integer('news_id')->unsigned(); //Foreign key unsigned
  77.     $table->foreign('news_id')->references('id')->on('news');
  78.     $table->engine = 'InnoDB';
  79. });
  80.  
  81. // 7) images
  82. Schema::create('images', function($table)
  83. {
  84.     $table->increments('id')->unsigned();;
  85.     $table->string('image', '1024');
  86.     $table->timestamps();
  87.     $table->engine = 'InnoDB';
  88. });
  89.  
  90. // 8) configurations
  91. Schema::create('configurations', function($table)
  92. {
  93.     $table->increments('id')->unsigned();;
  94.     $table->boolean('active_comments');
  95.     $table->integer('news_per_page');
  96.     $table->timestamps();
  97.     $table->engine = 'InnoDB';
  98. });
Advertisement
Add Comment
Please, Sign In to add comment