1: <?php
2:
3: namespace Yajra\Oci8\Schema;
4:
5: use Illuminate\Database\Schema\Blueprint;
6:
7: class OracleBlueprint extends Blueprint
8: {
9: 10: 11: 12: 13:
14: public $comment = null;
15:
16: 17: 18: 19: 20:
21: public $commentColumns = [];
22:
23: 24: 25: 26: 27:
28: protected $prefix;
29:
30: 31: 32: 33: 34:
35: public function setTablePrefix($prefix = '')
36: {
37: $this->prefix = $prefix;
38: }
39:
40: 41: 42: 43: 44:
45: public function timestampsTz()
46: {
47: $this->timestampTz('created_at');
48:
49: $this->timestampTz('updated_at');
50: }
51:
52: 53: 54: 55: 56: 57: 58:
59: protected function createIndexName($type, array $columns)
60: {
61: $short_type = [
62: 'primary' => 'pk',
63: 'foreign' => 'fk',
64: 'unique' => 'uk',
65: ];
66:
67: $type = isset($short_type[$type]) ? $short_type[$type] : $type;
68:
69: $index = strtolower($this->prefix . $this->table . '_' . implode('_', $columns) . '_' . $type);
70:
71:
72: return substr(str_replace(['-', '.'], '_', $index), 0, 30);
73: }
74:
75: 76: 77: 78: 79: 80: 81:
82: public function nvarchar2($column, $length = 255)
83: {
84: return $this->addColumn('nvarchar2', $column, compact('length'));
85: }
86: }
87: