19 lines
1.4 KiB
Python
19 lines
1.4 KiB
Python
COST_BASIS_DDL = (
|
|
"""CREATE TABLE IF NOT EXISTS b08_cost_basis (
|
|
id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, basis_code VARCHAR(50) NOT NULL,
|
|
name VARCHAR(255) NOT NULL, specification VARCHAR(255) NOT NULL DEFAULT '', unit VARCHAR(30) NOT NULL,
|
|
formula_note LONGTEXT NULL, labor_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
material_price DECIMAL(20,4) NOT NULL DEFAULT 0, expense_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
total_price DECIMAL(20,4) NOT NULL DEFAULT 0, status VARCHAR(20) NOT NULL DEFAULT 'DRAFT', version_no INT NOT NULL DEFAULT 1,
|
|
UNIQUE KEY uq_b08_cost_basis(project_id,basis_code,version_no))""",
|
|
"""CREATE TABLE IF NOT EXISTS b08_cost_basis_components (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY, cost_basis_id CHAR(36) NOT NULL,
|
|
component_type VARCHAR(20) NOT NULL, reference_id CHAR(36) NOT NULL,
|
|
quantity_expression VARCHAR(500) NOT NULL, cost_type VARCHAR(20) NOT NULL,
|
|
sort_order INT NOT NULL DEFAULT 0, KEY ix_b08_cb_component(cost_basis_id))""",
|
|
"""CREATE TABLE IF NOT EXISTS b08_formula_variables (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY, cost_basis_id CHAR(36) NOT NULL,
|
|
variable_code VARCHAR(50) NOT NULL, label VARCHAR(150) NOT NULL,
|
|
value DECIMAL(20,8) NULL, unit VARCHAR(30) NULL, required TINYINT(1) NOT NULL DEFAULT 1,
|
|
UNIQUE KEY uq_b08_variable(cost_basis_id,variable_code))""",
|
|
) |