-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathscripts.php
58 lines (44 loc) · 2.31 KB
/
scripts.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
return [
'install' => function ($app) {
$util = $app['db']->getUtility();
if ($util->tableExists('@invoicemaker_invoice') === false) {
$util->createTable('@invoicemaker_invoice', function ($table) {
$table->addColumn('id', 'integer', ['unsigned' => true, 'length' => 10, 'autoincrement' => true]);
$table->addColumn('status', 'string', ['length' => 16]);
$table->addColumn('template', 'string', ['length' => 255]);
$table->addColumn('created', 'datetime');
$table->addColumn('invoice_number', 'string', ['length' => 255]);
$table->addColumn('invoice_group', 'string', ['length' => 255]);
$table->addColumn('amount', 'decimal', ['precision' => 9, 'scale' => 2]);
$table->addColumn('amount_paid', 'decimal', ['precision' => 9, 'scale' => 2]);
$table->addColumn('payments', 'json_array', ['notnull' => false]);
$table->addColumn('paid_at', 'datetime', ['notnull' => false]);
$table->addColumn('deleted_at', 'datetime', ['notnull' => false]);
$table->addColumn('exported_at', 'datetime', ['notnull' => false]);
$table->addColumn('exported', 'smallint', ['default' => 0]);
$table->addColumn('ext_key', 'string', ['length' => 255, 'notnull' => false]);
$table->addColumn('pdf_file', 'string', ['length' => 255, 'notnull' => false]);
$table->addColumn('user_id', 'string', ['unsigned' => true, 'notnull' => false]);
$table->addColumn('company_id', 'string', ['unsigned' => true, 'notnull' => false]);
$table->addColumn('debtor', 'json_array', ['notnull' => false]);
$table->addColumn('invoice_lines', 'json_array', ['notnull' => false]);
$table->addColumn('data', 'json_array', ['notnull' => false]);
$table->setPrimaryKey(['id']);
$table->addIndex(['ext_key'], 'INVOICEMAKER_INVOICE_EXT_KEY');
$table->addIndex(['company_id'], 'INVOICEMAKER_INVOICE_COMPANY_ID');
$table->addUniqueIndex(['invoice_number'], '@INVOICEMAKER_INVOICE_INVOICE_NUMBER');
});
}
},
'uninstall' => function ($app) {
$util = $app['db']->getUtility();
if ($util->tableExists('@invoicemaker_invoice')) {
$util->dropTable('@invoicemaker_invoice');
}
// remove the config
$app['config']->remove('bixie/invoicemaker');
},
'updates' => [
]
];