init
This commit is contained in:
51
init.sql
Normal file
51
init.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
-- Create customers table
|
||||
CREATE TABLE IF NOT EXISTS customers (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
street VARCHAR(255) NOT NULL,
|
||||
city VARCHAR(100) NOT NULL,
|
||||
state VARCHAR(2) NOT NULL,
|
||||
zip_code VARCHAR(10) NOT NULL,
|
||||
account_number VARCHAR(50),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Create quotes table
|
||||
CREATE TABLE IF NOT EXISTS quotes (
|
||||
id SERIAL PRIMARY KEY,
|
||||
quote_number VARCHAR(50) UNIQUE NOT NULL,
|
||||
customer_id INTEGER REFERENCES customers(id),
|
||||
quote_date DATE NOT NULL,
|
||||
tax_exempt BOOLEAN DEFAULT FALSE,
|
||||
tax_rate DECIMAL(5,2) DEFAULT 8.25,
|
||||
subtotal DECIMAL(10,2) DEFAULT 0,
|
||||
tax_amount DECIMAL(10,2) DEFAULT 0,
|
||||
total DECIMAL(10,2) DEFAULT 0,
|
||||
has_tbd BOOLEAN DEFAULT FALSE,
|
||||
tbd_note TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Create quote_items table
|
||||
CREATE TABLE IF NOT EXISTS quote_items (
|
||||
id SERIAL PRIMARY KEY,
|
||||
quote_id INTEGER REFERENCES quotes(id) ON DELETE CASCADE,
|
||||
quantity VARCHAR(20) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
rate VARCHAR(50) NOT NULL,
|
||||
amount VARCHAR(50) NOT NULL,
|
||||
is_tbd BOOLEAN DEFAULT FALSE,
|
||||
item_order INTEGER NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Create indexes
|
||||
CREATE INDEX idx_quotes_quote_number ON quotes(quote_number);
|
||||
CREATE INDEX idx_quotes_customer_id ON quotes(customer_id);
|
||||
CREATE INDEX idx_quote_items_quote_id ON quote_items(quote_id);
|
||||
|
||||
-- Insert sample customer
|
||||
INSERT INTO customers (name, street, city, state, zip_code, account_number)
|
||||
VALUES ('Braselton Development', '5337 Yorktown Blvd. Suite 10-D', 'Corpus Christi', 'TX', '78414', '3617790060');
|
||||
Reference in New Issue
Block a user