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: 46:
47: protected function createIndexName($type, array $columns)
48: {
49: $short_type = [
50: 'primary' => 'pk',
51: 'foreign' => 'fk',
52: 'unique' => 'uk',
53: ];
54:
55: $type = isset($short_type[$type]) ? $short_type[$type] : $type;
56:
57: $index = strtolower($this->prefix . $this->table . '_' . implode('_', $columns) . '_' . $type);
58:
59:
60: return substr(str_replace(['-', '.'], '_', $index), 0, 30);
61: }
62:
63: 64: 65: 66: 67: 68: 69:
70: public function nvarchar2($column, $length = 255)
71: {
72: return $this->addColumn('nvarchar2', $column, compact('length'));
73: }
74: }
75: