Execute SQL queries
Run the provided SQL queries to create tables.
This commit is contained in:
@@ -7,35 +7,35 @@ import { supabase } from '../client';
|
||||
export const checkTablesStatus = async (): Promise<{
|
||||
transactions: boolean;
|
||||
budgets: boolean;
|
||||
tests: boolean;
|
||||
category_budgets: boolean;
|
||||
}> => {
|
||||
const tables = {
|
||||
transactions: false,
|
||||
budgets: false,
|
||||
tests: false
|
||||
category_budgets: false
|
||||
};
|
||||
|
||||
try {
|
||||
// transactions 테이블 확인
|
||||
const { count: transactionsCount, error: transactionsError } = await supabase
|
||||
const { data: transactionsData, error: transactionsError } = await supabase
|
||||
.from('transactions')
|
||||
.select('*', { count: 'exact', head: true });
|
||||
|
||||
tables.transactions = !transactionsError;
|
||||
|
||||
// budgets 테이블 확인
|
||||
const { count: budgetsCount, error: budgetsError } = await supabase
|
||||
const { data: budgetsData, error: budgetsError } = await supabase
|
||||
.from('budgets')
|
||||
.select('*', { count: 'exact', head: true });
|
||||
|
||||
tables.budgets = !budgetsError;
|
||||
|
||||
// _tests 테이블 확인
|
||||
const { count: testsCount, error: testsError } = await supabase
|
||||
.from('_tests')
|
||||
// category_budgets 테이블 확인
|
||||
const { data: categoryBudgetsData, error: categoryBudgetsError } = await supabase
|
||||
.from('category_budgets')
|
||||
.select('*', { count: 'exact', head: true });
|
||||
|
||||
tables.tests = !testsError;
|
||||
tables.category_budgets = !categoryBudgetsError;
|
||||
|
||||
return tables;
|
||||
} catch (error) {
|
||||
@@ -46,21 +46,41 @@ export const checkTablesStatus = async (): Promise<{
|
||||
|
||||
/**
|
||||
* 기존 테이블 목록을 가져옵니다.
|
||||
* 참고: get_tables 함수는 사용하지 않음
|
||||
*/
|
||||
export const getExistingTables = async (): Promise<string[] | null> => {
|
||||
try {
|
||||
const { data, error } = await supabase.rpc('get_tables');
|
||||
const tables = [];
|
||||
|
||||
if (error) {
|
||||
console.error('테이블 목록 가져오기 실패:', error);
|
||||
return null;
|
||||
// 직접 각 테이블 확인
|
||||
const { error: transactionsError } = await supabase
|
||||
.from('transactions')
|
||||
.select('id')
|
||||
.limit(1);
|
||||
|
||||
if (!transactionsError) {
|
||||
tables.push('transactions');
|
||||
}
|
||||
|
||||
if (Array.isArray(data)) {
|
||||
return data.map(t => t.name);
|
||||
const { error: budgetsError } = await supabase
|
||||
.from('budgets')
|
||||
.select('id')
|
||||
.limit(1);
|
||||
|
||||
if (!budgetsError) {
|
||||
tables.push('budgets');
|
||||
}
|
||||
|
||||
return [];
|
||||
const { error: categoryBudgetsError } = await supabase
|
||||
.from('category_budgets')
|
||||
.select('id')
|
||||
.limit(1);
|
||||
|
||||
if (!categoryBudgetsError) {
|
||||
tables.push('category_budgets');
|
||||
}
|
||||
|
||||
return tables;
|
||||
} catch (error) {
|
||||
console.error('테이블 목록 확인 중 오류 발생:', error);
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user