Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def create_tables():
- TABLES = {}
- TABLES['_ctrl_status'] = (
- "CREATE TABLE `_ctrl_status` ("
- " `ctrl_status_id` BIGINT NOT NULL AUTO_INCREMENT,"
- " `ctrl_status_name` VARCHAR(20) NOT NULL,"
- " PRIMARY KEY (`ctrl_status_id`)"
- ") ENGINE=InnoDB")
- TABLES['industry_rank'] = (
- " CREATE TABLE `industry_rank` ("
- " `rank_id` INT NOT NULL AUTO_INCREMENT,"
- " `Industry_name` VARCHAR(100) NOT NULL,"
- " `rank_rating` INT NOT NULL,"
- " PRIMARY KEY (`rank_id`)"
- ") ENGINE=InnoDB")
- TABLES['_ctrl'] = (
- "CREATE TABLE `_ctrl` ("
- " `id` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `ticker` VARCHAR(6) NOT NULL,"
- " `report_date` DATE NOT NULL,"
- " `ctrl_status_id` BIGINT NOT NULL,"
- " `report_last_seen_time` DATE,"
- " `report_last_seen_who` VARCHAR(30),"
- " `load_folder_date` DATE NOT NULL,"
- " `process_date` DATE NOT NULL,"
- " `reload_date` DATE,"
- " `reload_reason` VARCHAR(255),"
- " `is_invalid` BIT NOT NULL,"
- " `is_deleted` BIT NOT NULL,"
- " `rank_id` INT NOT NULL,"
- " `layout_id` INT NOT NULL,"
- " `Report_file` VARCHAR(255) NOT NULL ,"
- " PRIMARY KEY (`id`), UNIQUE KEY `report_id` (`report_id`),"
- " CONSTRAINT `status_id_ibfk_1` FOREIGN KEY (`ctrl_status_id`) "
- " REFERENCES `_ctrl_status`(`ctrl_status_id`) ON DELETE CASCADE ON UPDATE CASCADE,"
- " CONSTRAINT `rank_id_ibfk_1` FOREIGN KEY (`rank_id`) "
- " REFERENCES `industry_rank`(`rank_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['annual_rates'] = (
- "CREATE TABLE `annual_rates` ("
- " `id` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `sales_past_10yrs` NUMERIC,"
- " `sales_past_5yrs` NUMERIC,"
- " `sales_estimation` NUMERIC,"
- " `cashf_past_10yrs` NUMERIC,"
- " `cashf_past_5yrs` NUMERIC,"
- " `cashf_estimation` NUMERIC,"
- " `earn_past_10yrs` NUMERIC,"
- " `earn_past_5yrs` NUMERIC,"
- " `earn_estimation` NUMERIC,"
- " `dividents_past_10yrs` NUMERIC,"
- " `dividents_past_5yrs` NUMERIC,"
- " `dividents_estimation` NUMERIC,"
- " `bookvalue_past_10yrs` NUMERIC,"
- " `bookvalue_past_5yrs` NUMERIC,"
- " `bookvalue_past_estimation` NUMERIC,"
- " PRIMARY KEY (`id`), KEY `_ctrl` (`report_id`),"
- " CONSTRAINT `report_id_ibfk_1` FOREIGN KEY (`report_id`) "
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['current_positions'] = (
- "CREATE TABLE `current_positions` ("
- " `id` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `yr1` NUMERIC,"
- " `yr2` NUMERIC,"
- " `date1` NUMERIC,"
- " `cash_assets_yr1` NUMERIC,"
- " `cash_assets_yr2` NUMERIC,"
- " `cash_assets_date1` NUMERIC,"
- " `receivables_yr1` NUMERIC,"
- " `receivables_yr2` NUMERIC,"
- " `inventory_yr1` NUMERIC,"
- " `inventory_yr2` NUMERIC,"
- " `inventory_date1` NUMERIC,"
- " `other1_yr1` NUMERIC,"
- " `other1_yr2` NUMERIC,"
- " `other1_date1` NUMERIC,"
- " `current_assets_yr1` NUMERIC,"
- " `current_assets_yr2` NUMERIC,"
- " `current_assets_date1` NUMERIC,"
- " `acct_payable_yr1` NUMERIC,"
- " `acct_payable_yr2` NUMERIC,"
- " `acct_payable_date1` NUMERIC,"
- " `debt_due_yr1` NUMERIC,"
- " `debt_due_yr2` NUMERIC,"
- " `debt_due_date1` NUMERIC,"
- " `other2_yr1` NUMERIC,"
- " `other2_yr2` NUMERIC,"
- " `other2_date1` NUMERIC,"
- " `curr_liab_yr1` NUMERIC,"
- " `curr_liab_yr2` NUMERIC,"
- " `curr_liab_date1` NUMERIC,"
- " `curr_position_scale` VARCHAR(10),"
- " KEY `current_positions` (`id`),"
- " CONSTRAINT `report_id_ibfk_2` FOREIGN KEY (`report_id`) "
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['high_low'] = (
- "CREATE TABLE `high_low` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `yr` INT NOT NULL,"
- " `high` NUMERIC NOT NULL,"
- " `low` NUMERIC NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_3` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['projections'] = (
- "CREATE TABLE `projections` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `yr_start` INT NOT NULL,"
- " `yr_end` INT NOT NULL,"
- " `high_price` INT NOT NULL,"
- " `high_gain_pct` INT NOT NULL,"
- " `high_ann_total_return` INT NOT NULL,"
- " `low_price` INT NOT NULL,"
- " `low_gain_pct` INT NOT NULL,"
- " `low_ann_total_return` INT NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_4` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['quarterly_stats'] = (
- "CREATE TABLE `quarterly_stats` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `type` INT NOT NULL,"
- " `yr` INT NOT NULL,"
- " `q1` NUMERIC NOT NULL,"
- " `q2` NUMERIC NOT NULL,"
- " `q3` NUMERIC NOT NULL,"
- " `q4` NUMERIC NOT NULL,"
- " `q_total` NUMERIC NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_5` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['single_values'] = (
- "CREATE TABLE `single_values` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `pe_ratio` NUMERIC NOT NULL,"
- " `pe_ratio_trail` NUMERIC NOT NULL,"
- " `pe_ratio_med` NUMERIC NOT NULL,"
- " `pe_ratio_rel` NUMERIC NOT NULL,"
- " `div_yld` NUMERIC NOT NULL,"
- " `timeliness` NUMERIC NOT NULL,"
- " `safety` NUMERIC NOT NULL,"
- " `technical` NUMERIC NOT NULL,"
- " `beta` NUMERIC NOT NULL,"
- " `beta_market` NUMERIC NOT NULL,"
- " `total_debt` NUMERIC NOT NULL,"
- " `total_debt_txt` NUMERIC NOT NULL,"
- " `common_stock` NUMERIC NOT NULL,"
- " `market_cap` NUMERIC NOT NULL,"
- " `market_cap_money_txt` NUMERIC NOT NULL,"
- " `market_cap_txt` NUMERIC NOT NULL,"
- " `fin_strength` NUMERIC NOT NULL,"
- " `price_stability` NUMERIC NOT NULL,"
- " `price_growth_persistence` NUMERIC NOT NULL,"
- " `earnings_predictability` NUMERIC NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_6` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['txt_desc'] = (
- "CREATE TABLE `txt_desc` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `business` BLOB NOT NULL,"
- " `description` BLOB NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_7` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['year_stats'] = (
- "CREATE TABLE `year_stats` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `yr` INT NOT NULL,"
- " `position` INT NOT NULL,"
- " `value` NUMERIC NOT NULL,"
- " `Isvirtual_yr` BIT NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_8` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['year_stats_captions'] = (
- "CREATE TABLE `year_stats_captions` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `position` INT NOT NULL,"
- " `title` VARCHAR(30) NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_9` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl` (`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- TABLES['year_stats_projections'] = (
- "CREATE TABLE `year_stats_projections` ("
- " `ID` BIGINT NOT NULL AUTO_INCREMENT,"
- " `report_id` BIGINT NOT NULL,"
- " `position` INT NOT NULL,"
- " `projection` NUMERIC NOT NULL,"
- " PRIMARY KEY (`ID`),"
- " CONSTRAINT `reportid_ibfk_10` FOREIGN KEY (`report_id`)"
- " REFERENCES `_ctrl`(`report_id`) ON DELETE CASCADE ON UPDATE CASCADE"
- ") ENGINE=InnoDB")
- for name, ddl in TABLES.items():
- try:
- print("Creating table {}: ".format(name), end='')
- cursor.execute("DROP TABLE IF EXISTS {}".format(name))
- cursor.execute(ddl)
- except mysql.connector.Error as err:
- if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:
- print("already exists.")
- else:
- print(err.msg)
- else:
- print("OK")
- """Inserting status options"""
- status_value_list = ['Uploaded',
- 'Processed',
- 'Completed',
- 'Processing issue',
- 'Analysis issue']
- for status in status_value_list:
- sql_ctrl_status = (
- "INSERT INTO `_ctrl_status` (`ctrl_status_name`) VALUE('{}')".format(status)
- )
- try:
- cursor.execute(sql_ctrl_status)
- cnx.commit()
- except:
- cnx.rollback()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement