samridh12 commited on
Commit
06e185e
1 Parent(s): b3066ec

Update database.py

Browse files
Files changed (1) hide show
  1. database.py +12 -65
database.py CHANGED
@@ -1,69 +1,16 @@
1
- import sqlite3
 
2
  import pandas as pd
3
 
4
- def create_connection(db_file):
5
- """Create a database connection to the SQLite database."""
6
- conn = sqlite3.connect(db_file)
7
- return conn
8
- def initialize_database(conn):
9
- """Initialize the database with tables and constraints."""
10
- with conn:
11
- conn.execute('PRAGMA foreign_keys = ON;')
12
-
13
- conn.execute('''CREATE TABLE IF NOT EXISTS vendor_data (
14
- vendor_type TEXT NOT NULL,
15
- vendor_name TEXT PRIMARY KEY,
16
- GST_NO INTEGER NOT NULL,
17
- Contact_person_name TEXT NOT NULL,
18
- address TEXT NOT NULL,
19
- city TEXT NOT NULL,
20
- pan_no TEXT NOT NULL CHECK(length(pan_no) <=10)
21
- )''')
22
-
23
- conn.execute('''CREATE TABLE IF NOT EXISTS material_data (
24
- Part_id INTEGER PRIMARY KEY AUTOINCREMENT,
25
- vendor_name TEXT,
26
- part_no INTEGER NOT NULL,
27
- scf TEXT NOT NULL,
28
- process_type TEXT NOT NULL,
29
- part_od REAL NOT NULL,
30
- part_width INTEGER NOT NULL,
31
- part_inner_dimension REAL NOT NULL,
32
- material_specification TEXT NOT NULL,
33
- finish_wt REAL NOT NULL,
34
- green_drg_no INTEGER NOT NULL,
35
- FOREIGN KEY (vendor_name) REFERENCES vendor_data(vendor_name)
36
- )''')
37
-
38
- conn.execute('''CREATE TABLE IF NOT EXISTS rm_cost_data (
39
- Part_id INTEGER,
40
- vendor_name TEXT,
41
- grade_type TEXT NOT NULL,
42
- usd_cif REAL NOT NULL,
43
- rate REAL NOT NULL,
44
- final_landed_cost REAL,
45
- FOREIGN KEY (Part_id) REFERENCES material_data(Part_id),
46
- FOREIGN KEY (vendor_name) REFERENCES vendor_data(vendor_name)
47
- )''')
48
-
49
- conn.execute('''CREATE TABLE IF NOT EXISTS supplier_data (
50
- Part_id INTEGER,
51
- vendor_name TEXT,
52
- input_weight REAL,
53
- process_code TEXT,
54
- machining_time REAL,
55
- inspection_time REAL,
56
- process_cost REAL,
57
- machining_cost REAL,
58
- inspection_cost REAL,
59
- FOREIGN KEY (Part_id) REFERENCES material_data(Part_id),
60
- FOREIGN KEY (vendor_name) REFERENCES vendor_data(vendor_name)
61
- )''')
62
 
63
- def insert_data(conn, table, data):
64
- """Insert data into SQLite database."""
65
- data.to_sql(table, conn, if_exists='append', index=False)
66
 
67
- def fetch_data(query, conn):
68
- """Fetch data from SQLite database."""
69
- return pd.read_sql_query(query, conn)
 
1
+ import sqlalchemy
2
+ from sqlalchemy import create_engine
3
  import pandas as pd
4
 
5
+ def create_connection(db_name):
6
+ """Create a database connection."""
7
+ engine = create_engine(f'sqlite:///{db_name}.db')
8
+ return engine
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
+ def insert_data(engine, table_name, data_frame):
11
+ """Insert data into a specified table."""
12
+ data_frame.to_sql(table_name, con=engine, if_exists='append', index=False)
13
 
14
+ def fetch_data(engine, query):
15
+ """Fetch data using a SQL query."""
16
+ return pd.read_sql(query, con=engine)